hacker news with inline top comments    .. more ..    27 Aug 2017 Ask
home   ask   best   2 years ago   
Ask HN: What are your favourite self-hosted tools?
224 points by zweicoder  13 hours ago   110 comments top 58
DrPhish 11 hours ago 2 replies      
I self host everything I can at home, so this list might be a bit too exhaustive, but there wasn't any scope on this ask HN, so...

Overall hardware platform:

4 pcengines alix boxes for openbsd router/firewall appliances

3 supermicro Opteron servers with KVM/corosync/Sheepdog/csync2 for hosting all VMs


PF + CARP + pfsync + OpenBGPD for routing

Unbound + NSD + Bind for DNS

SSH/OpenBSD ipsec/apache Guacamole for roaming and permanent site-to-site VPN (pcengines ALIX hosted at my inlaws in Japan)

Apache + Lets Encrypt + awstats + relayd for serving web pages and analysis

ZoneMinder for video monitoring. Tied into legacy security system for automation

Postgres for database work. Some mysql/redis

NetDisco + Nagios + NagVis + NFSen + MRTG + Smokeping + PNP4Nagios + NUT + Splunk + Racktables for monitoring. All configs are dynamically generated from netdisco db

OpenSMTPD + Citadel (webcit) for email delivery and webmail

Minetest server for kids. We use this tons as a family, and the kids spend lots of time modding. TW2002 server. TShock server.

OpenELEC for diskless netboot KODI machines around the house

Samba4 Domain controller + NFS for sharing files in different applications

SVN for source control and Config diffs for all servers/tools/network devices

Asterisk via FreePBX / NCID for all phone/CallerID services, including remote handsets at VPN locations

And that's just the ones that I really enjoy using off the top of my head. I hope to find lots more things to try in this thread. Metabase already looks like an awesome candidate!

tiangolo 11 hours ago 2 replies      
Everything with Docker: https://www.docker.com/

Rancher (to control Docker stacks, set up HTTPS with Let's encrypt, etc): http://rancher.com/

GitLab (git repositories): https://about.gitlab.com/

Rocket.Chat (internal chat): https://rocket.chat/

Sentry (production code error handling): https://sentry.io/welcome/

Metabase (DB analytics and graphs): http://www.metabase.com/Mailu (email server): https://github.com/Mailu/Mailu

Mailtrain (email marketing, using Mailgun or SparkPost): https://mailtrain.org/

KeeWeb (password storage and handling, kind of "self hosted", offline app): https://keeweb.info/

tchaffee 12 hours ago 2 replies      
I wish I had a success story to tell, but I've increasingly moved away from self-hosting. Whenever something breaks I have to pull myself away from the programming I'm enjoying and go fix it. And if something breaks when I've already had a long day working under a tight deadline for a client, it feels like a disaster.
eddieroger 11 hours ago 1 reply      
GitLab. I know it has it's problems in hosted form, but I've stood GitLab up on a Linode about a year ago and have had zero problems with it. Since then, I've grown increasingly dependent on it, starting to use GitLab CI for some basic automation around things like my blog, or managing my Chef environment. I started out by standing it up as a test, and am considering strongly reducing my GitHub footprint in favor of it if only for the "free" private repos (yeah, I'm paying for a server, so it's not free). I think having GitLab stood up in my life will actually open me up to other stuff that I hope to find in this list, too.

Does Plex count? If so, Plex. I love it, and don't remember how I lived without it.

TheAceOfHearts 10 hours ago 1 reply      
I really like fossil [0]. It's an alternative to git which includes integrated bug tracking, wiki, and notes.

Definitely suggest giving a try! I'd absolutely love it if the same functionality were available with git/github.

[0] http://fossil-scm.org/index.html/doc/trunk/www/index.wiki

captainmuon 9 hours ago 2 replies      
Can't believe it hasn't been mentioned yet, but Nextcloud (or Owncloud):


It's basically self-hosted Dropbox, with clients for all mayor Desktop and Mobile OSes. I set it up for a little team project. Just one account, and a shared folder where people with a password could upload. I think we will move to individual accounts at some point.

But it supports much more. It has a calendar similar to Google Calendar and I've switched to it. It also has plugins for image galleries, contacts, LibreOffice in the browser, collaborative editing like EtherPad, and so on. I was very sceptical, but it is really well done.

OzzyB 10 hours ago 1 reply      
MailInABox [0]

After getting tired paying GSuite/GMail $5/mth per user I figured it's time to get my own email server running again.

Runs on a single $10 Linode instance, pretty easy to setup, super-easy to maintain, does a great job making your emails _not_ end up in the Spam Folder.

[0] https://mailinabox.email

moepstar 11 hours ago 2 replies      
Pi-hole - network-level adblocking on a Raspi, so even devices without adblockers get that advantage

Dokku - Heroku-like Docker env for Ruby on Rails development


xd1936 12 hours ago 1 reply      
There's a great list available here:


photonios 8 hours ago 0 replies      
Single, large machine with 28GB of RAM, Intel i7 @ 4.2GHz running in my bedroom closet, connected to a high-speed 1Gbps/down network. Whole thing runs Ubuntu 16.

It basically runs almost every service I use:

- Plex. I tried to use XBMC, but Plex just kills it with their mobile app as well so I can just continue watching on the iPad. It's like having your private Netflix.

- OwnCloud, a self-hosted Dropbox/Google Drive. I keep my password database (KeePass) here and it nicely syncs across my devices. I also store non-essential photos there.

- cgit, a simple Git server. I used to run gitlab, but this is much more elegant and simple for archiving repo's and hosting my personal repo's, I don't need much.

- OpenVPN Server, in case I am in a country where there are certain restrictions to what I can access and what not. Also useful in case I need to access some stuff I don't expose over the internet.

- Henk, my personal home-automation system. I've automated various parts of my home, such as lighting, air conditioning, heating, roller blinds etc. It's a bit too exhaustive to outline here. In short, some micro services hooked up over Kafka. I have multiple instances of those services running in some EC2 machines on Google Cloud in case something happens to my home-server. This is probably the most important piece of software I have running. It's fully automated, so if it goes down, I'll lose the comfort of the AC turning on when I am on my way home.

- Camera security system. I used to work at a camera security company. I run their software to monitor my home.

- Transmission, torrent client. I've written some scripts for post-processing downloads. When a move finishes downloading, it moves it into the right location, looks up subtitles on OpenSubtitles.org and adds it to Plex.

- Nginx + LetsEncrypt for all of that. All of those services have web-interfaces. I run the web servers locally and use Nginx's reverse proxy to expose them on a subdomain. LetsEncrypt certificates for all of it.

I've considered renting dedicated machines, but I don't really feel comfortable not having this on my own servers.

Other tid bits:

- I live in Romania, 1Gpbs/down costs about $5/month here. Same goes for electricity, that costs about $15/month for the entire home.

Alacart 9 hours ago 0 replies      
I run my own git server with Gogs, which is written in go. I set that up 2 or 3 years ago on a 5 dollar DOdroplet and have never had downtime and I haven't SSH'd into it since the initial setup. I use it all day every day for many projects and have had up to about 5 devs regularly committing to it as well. Zero problems, ever.

There's also Gitea which is a fork of Gogs after some contributors became concerned with the bus factor, very slow feature development, and occasional disappearance of the maintainer of Gogs. I haven't use it but that's probably what I'd try first now.

nikisweeting 10 hours ago 0 replies      
- Bookmark Archiver for keeping local, browsable copies of every important website I visit. https://github.com/pirate/bookmark-archiver

- Webmin for admin and monitoring (better than Nagios imo). http://www.webmin.com/

- Postfix + OpenDKIM for self-hosted email sending & forwarding.

- SFTP/Samba/AFP for my fileserver.

- Ikev2 VPN https://github.com/jawj/IKEv2-setup

callahad 11 hours ago 0 replies      
Things I've actually kept self-hosting for personal use for more than a year:

- Wekan (Trello clone) https://wekan.github.io/

- Taskwarrior + Taskserver (Todo lists) https://taskwarrior.org/

- Syncthing (File sync) https://taskwarrior.org/

- The Lounge (IRC client) https://github.com/thelounge/lounge/

The "Awesome Selfhosted" GitHub repo is a decent place to discover things: https://github.com/Kickball/awesome-selfhosted

emilsedgh 12 hours ago 0 replies      
Metabase - http://www.metabase.com/

Self hosted BI tool.

gglitch 12 hours ago 1 reply      
Fossil, Tiddlywiki(?), and for mostly sentimental reasons, this peculiar old bbs-like suite called Citadel: http://www.citadel.org/doku.php/start
fbelzile 12 hours ago 1 reply      
Sendy - https://sendy.co/

Saves me a lot of money vs using something like MailChimp.

ollybee 6 hours ago 0 replies      
Grafana - The attention to detail is amazing. I've not even looked at similar hosted services, I find it hard to believe they are better.
reportingsjr 12 hours ago 2 replies      
Etherpad - http://etherpad.org

I always wanted to have the habit of taking lots of notes, but I didn't really like having to carry around a physical notebook. I set up etherpad and now I constantly use it to take notes. It has saved me so many times!

Grue3 9 hours ago 0 replies      
I'm hosting this thing [1] to have a search-by-image capability among my images. Here's a blog [2] which describes how to install it and how I wrote a Common Lisp client for it.

[1] https://github.com/pavlovai/match

[2] http://readevalprint.tumblr.com/post/163569150438/your-perso...

cheiff 11 hours ago 0 replies      
https://sandstorm.io/ - includes a lot of good and useful tools.
Axsuul 10 hours ago 1 reply      
Huginn -- it's like your own IFTTT but much more powerful and customizable


ashwanthkumar 11 hours ago 1 reply      
Self hosted for more than 5 years now.

- GoCD - https://www.gocd.org/

- Hadoop

CommanderData 12 hours ago 0 replies      
Pritunl - Self Hosted VPN. Free Site to Site feature you normally pay with OpenVPN.


Works on OpenVPN clients and had zero problems connecting multiple users for many months.

pathtracer 6 hours ago 0 replies      
GitBucket (git repositories) - https://gitbucket.github.io/ runs on the JVM and it's a breeze to set up
INTPenis 8 hours ago 0 replies      
One thing that hasn't been mentioned here yet is Emby.

Awesome home media library solution. I finally broke down and bought the lifetime license so I can download media to my tablet and watch it offline.

But even without the license the software is rock solid and amazing.

Other than that my list resembles other lists.

pcengines apu for home router

gitlab (I actually found that gitlab was overkill for personal use so I either use gitlab.com private repos or just git+ssh at home)

nextcloud for family pics

siptrack for password and inventory management


openvpn to access my LAN

I have a kvm hypervisor at home with a homebuilt nas for setting up testing and PoC virtually.

the nas is fedora+zfs+iscsi with one 4x2.5" SATA 5.25" bay in an external cradle connected with eSATA and one internal 5.25" bay with 6x2.5" sata disks. all disks 1TB, two separate zpools with raidz.

blfr 11 hours ago 0 replies      
I'm newly enchanted with Mailpile.


Technically it's an email client but since it works in your browser anyway, you can run it on a server as a personal webmail. It can work with a local MTA or regular accounts at other providers for which it provides automatic configuration with ISPDB. It supports all the basic functions and GPG.

hedora 4 hours ago 0 replies      
For news reading: miniflux (I hacked up the css to make it legibile)

I plan to start self hosting a copy of five-filters rss, which scrapes full text from rss feed articles. It is basically the ultimate ad blocker / AMP replacement.

wut42 9 hours ago 0 replies      
I host a LOT of things! :)

I'm having 5 dedicated servers at Online.net + Small VPS at Scaleway & OVH; + some backup boxes at friends behind an ADSL.

Tinc for the private network

Proxmox & CBSD for VMs/FreeBSD Jails



Gitlab. Used gogs in the past but it missed features I needed



nginx + dehydrated (let's encrypt client)

PowerDNS + PowerAdmin

Modoboa (email stack. postfix/amavis/web interface/)

Rainloop (email web client)

Cloud-Init with No-Cloud


pgsql, mysql, redis, riak, elasticsearch

charybdis (ircd)








:) self-host is <3

edit: typo & forgot minio

uptime 2 hours ago 0 replies      
traefik for automatic LetsEncrypt SSL proxy to expose docker public subhosts

portainer for nice docker mgt ui

discourse for forumswordpress w discourse sso

netdata for health monitoring


actionherojs for microsvcs



cocalc for notebooks

looking at nextcloud if i can get libreoffice to behave w ssl

vmp 11 hours ago 1 reply      
Gogs for lightweight git repo hosting, works great, zero maintenance.
jaden 9 hours ago 0 replies      
Private Bin (encrypted sharing of data) - https://github.com/PrivateBin/PrivateBin

KeeWeb (for accessing KeePass database) - https://github.com/keeweb/keeweb

gorkemcetin 6 hours ago 0 replies      
Countly, to track users and analyse their mobile & web data (http://github.com/countly/countly-server)
kawera 12 hours ago 0 replies      
Don't know if it qualifies as self-hosted but Web Maker is like an offline Codepen packaged as a Chrome extension:



venti 8 hours ago 0 replies      
InvoicePlane is a superb tool that I regularly use for writing, sending and tracking of the invoices that I send to my clients: https://invoiceplane.com/

I wish it had a proper API, though.

majewsky 9 hours ago 0 replies      
nginx (HTTP), Prosody (XMPP) and uMurmur (Mumble voice-chat) stand out as being very easy to set up (single configuration file, good documentation) and having no failure modes that I'm aware of.

nginx deserves particular mention for handling a HN frontpage crowd on a single-core VM without even blinking.

pmontra 7 hours ago 0 replies      
Redmine, Gitolite, Etherpad, Mattermost.

Does Syncthing count as self hosted too?

endlessvoid94 11 hours ago 0 replies      
Queryclips - https://www.queryclips.com

I've started to use QueryClips for all of my simple querying and sharing. It's got some advantages over Heroku Dataclips, like the ability to invite your colleagues, support for MySQL, etc.

quickthrower2 7 hours ago 0 replies      
Gitlab, JIRA, SQL Server, Kibana, Elastic Search, Zabbix
keltvek 9 hours ago 0 replies      
I self host everything I need:

Website: nginx + Let's Encrypt + Piwik (analytics)

Mail: mailcow

IM: Riot.im

Blog: Pelican static site generator

Logs: Graylog

Monitoring: Zabbix

Seedbox: deluge

Music: subsonic

File sharing: Seafile

Contacts&Calendar: Nextcloud

DNS: unbound


Git: Gitlab

There is probably more.

kqr2 7 hours ago 0 replies      
Any good recommendations for an open source tool that can do traceability between requirements, specifications, implementation, and testing?
the_common_man 10 hours ago 0 replies      
Cloudron https://cloudron.io it basically gives you curated docker packages and does all the setup automatically. I use it for gogs, WordPress, email, meemo notes
yk 12 hours ago 0 replies      
A wiki, I use gitit (because it has markdown and a git backend, not that I currently use those two...).


busterarm 12 hours ago 0 replies      
Algo, your personal IPSEC VPN in the cloud.

ELK Stack.

type0 3 hours ago 0 replies      
Caddy server, MediaGoblin, FreeNAS, WeeChat
prettynatty 12 hours ago 0 replies      
dialog messenger (https://dlg.im) and sentry (https://sentry.io)
komuW 7 hours ago 0 replies      
Nginx as file server with self generated ssl certificates.

Aria2c for torrents and other downloads.

Wireguard for vpn.

nmaggioni 8 hours ago 0 replies      
LXC Containers:

- Koel (Web-based music player; https://github.com/phanan/koel)

- Aria2 (generic downloader; https://aria2.github.io/)

- GPodder (podcast downloader; https://gpodder.github.io/)

- PiHole (mostly for curiosity, I now use full-blown DNS & DHCP servers; https://pi-hole.net/)

- OpenVPN (https://openvpn.net/)

- Pritunl (OpenVPN failover; https://pritunl.com/)

- PlexPy (Plex monitoring; https://github.com/JonnyWong16/plexpy)

- BIND (DNS server; https://wiki.debian.org/Bind9)

- ISC-DHCP (https://wiki.debian.org/DHCP_Server)

- Smokeping (connection monitoring; https://oss.oetiker.ch/smokeping/)

- Ansible (central host with playbooks; https://www.ansible.com/)

- Graylog (log aggregation; https://www.graylog.org/)

- Wallabag ("read it later"; https://wallabag.org/en)

- Home Assistant (home automation; https://home-assistant.io/)

- Bookstack (documentation; https://www.bookstackapp.com/)

- Observium (network devices monitoring; https://www.observium.org/)


- PfSense (firewall & permanent VPN for some containers; https://www.pfsense.org/)

- Rancher (Docker orchestration; http://rancher.com/)

Rancher (Cattle environment):

+ ELK stack (https://www.elastic.co/)

+ Concourse CI (just to experiment, I prefer GitLab's CI; https://concourse.ci/)

+ Dumpster (my own temporary file upload platform, with additional YubiKey support; https://github.com/nmaggioni/dumpster)

+ Own Telegram bot (talks with ELK)

+ Let's Encrypt renewal daemon

+ FaaS (either https://github.com/iron-io/functions or https://github.com/alexellis/faas, even though I'm actually waiting for https://openwhisk.incubator.apache.org/)

+ Private Docker registry

I may have left something out, some more services/containers/VMs are disabled due to low usage.

LeicaLatte 12 hours ago 0 replies      
Lets Encrypt
fao_ 10 hours ago 0 replies      
GCC, Linux

EDIT: Oops, wrong definition.

stevenschmatz 10 hours ago 0 replies      
Prometheus and Grafana for sure. Open source monitoring FTW!
marcinkuzminski 11 hours ago 0 replies      
Appenlight.com, for performance and exception tracking
chatman 9 hours ago 0 replies      
Apache Solr, self hosted search.
fergie 5 hours ago 0 replies      
exabrial 12 hours ago 0 replies      
Gitlab and graylog
rocky1138 11 hours ago 0 replies      
git, GNU Social
gm 11 hours ago 0 replies      
Ask HN: Code review vs. Unit test
8 points by cryptozeus  5 hours ago   7 comments top 6
jwilliams 30 minutes ago 0 replies      
In reality, you need both. However, unit tests are code. If you're writing poor quality code, then you risk writing poor quality unit tests. Brittle, overly specific unit tests can be a major burden. Even just mediocre unit tests can weight down a project.

Code reviews have an outsized impact in the organizations I've worked in. More people understand more of the code. Quality goes up not only because the bad code is spotted, but also the reviewers can learn good practices too. You also get better at reading code. This is a fundamental, critical skill.

For this reason, I'm a fan of having developers of all skill levels be reviewers. However, code reviews are a skill and take an investment for people to learn how to be effective.

So if you're really, really having to pick, do code reviews. Use the code reviews to drive sensible, smart adoption of unit testing.

toast0 1 hour ago 0 replies      
If you're in a tight deadline environment, I'm guessing people aren't going to spend quality time on unit testing or code reviews. It's quick and easy to write terrible unit tests that are counter productive; it's also pretty easy to just stamp all the code reviews without taking a real look.

Not every piece of code needs to be high quality. Instead, you should indentify the parts of your system that need higher quality and spend real time reviewing code and writing appropriate tests (not just unit tests, also do performance tests and integration tests of key components). Especially in an environment with tight deadline and changing requirements, focusing on key areas will save a lot of effort.

jamestimmins 1 hour ago 1 reply      
Sounds like it's worth taking a step back and looking at your processes from a high level. If there's pressure to push code more quickly than is possible while maintaining effective code reviews, then you may want to consider where that pressure is coming from. If velocity is causing quality control issues, then velocity is likely too fast. Not to mention that limiting quality checks will reduce velocity in the long term.

Once you have both product and engineering (or whatever forces are at play) on the same page about reasonable expectations, I'd recommend using both. Code review and automated testing both serve distinct yet important roles.

wolco 1 hour ago 0 replies      
I think unit testing and automated tests are the way to go with pull requests that require two developers approval.

Two developer number is important on the reviews to keep everyone honest and to keep everyone interested.

yen223 2 hours ago 0 replies      
We do both. Unit tests can help with the review process, by making it clear the intention behind certain aspects of code changes.

Code reviews and unit tests are only as effective as the developers who participate though, can't escape that.

llccbb 5 hours ago 0 replies      
What are the actual problems that your company is encountering? Bugs? Spaghetti? Unmaintainability?
Im Peter Roberts, immigration attorney who does work for YC and startups. AMA
277 points by proberts  1 day ago   389 comments top 73
whack 1 day ago 2 replies      
What advice do you have for someone who's on a H1B visa, wants to co-found a startup, incorporate it, work on it part-time until it receives VC funding, and continue working at their H1B "day job" in the interim?

My understanding is that the H1B visa does not allow you to do any work for anyone apart from your visa sponsor. If a co-founder were to spend his evenings working on his startup which has been incorporated, I'm not sure if that would conflict with the above regulation, and if so, how to work around this.

I'd be happy to contact you privately if you prefer that.

adamnemecek 1 day ago 4 replies      
Just wanted to say that not enough people know about the Green Card Diversity Lottery https://www.dvlottery.state.gov.

The odds are kinda small and there are restrictions but I know at least three people who got their green card this way.

charris0 1 day ago 3 replies      
Hi Peter, thanks for sharing info on what I feel is quite an unknown subject to an outsider. I have a general question for you:

As a skilled software developer with a relevant UK university degree (3 years BSC) and work place experience, interested in working in the US - What is the ballpark range of costs and wait time involved in getting a visa to allow me to work for a US company.

What's the general procedure, - get offer from job, then -talk to immigration lawyer, or the other way around?


throwaway45599 1 day ago 2 replies      
I have a criminal record in the UK. I was convicted approx 5 years ago for criminal damage, drunk and disorderly and resisting arrest. I was given a small fine in magistrates court.

I have otherwise a great record and have set up multiple companies employing approx 100 people here, including many awards and recognitions.

What are my chances of being able to move to the US?

gcdvl 1 day ago 1 reply      
I won the green card diversity lottery and will finalize the process in about a month when I land in the USA. After that I'll be a permanent resident. I'll stay for a few months to set things up, leave for a few more months to sell some property and then move there permanently.

If things don't go very well and I decide to relinquish the green card and return, will I be subject to any kind of exit tax?

Also, I'm having a lot of trouble setting up an address to receive the physical card. A PO Box or mail aggregator is not acceptable and I can only change the address up to the point of entry. This is a major concern for me because I don't have anyone in the USA that could receive it on my behalf.

Is it possible to use "General delivery" near my arrival airport to get the card? I ask because up to 2 weeks ago I didn't even know about that concept so I'm still exploring that possibility.

Thank you for your time.

vira28 1 day ago 1 reply      
Peter, I am in H1B visa working full time for my employer, but I am also a co-founder with equal equity (nothing on paper as on date) for a startup incorporated in Delaware.

Is it legal to be a co-founder (and own equity) in a startup other than the employer who sponsored my H1B? If yes, what I need to do? Thanks.

kilimci 1 day ago 1 reply      
Hi Peter,

I'll finish my PhD in ECE around May 2018 and look for employment in the Bay Area. Do you think I should apply for NIW (I have over 300 citations and 10+ peer reviewed publications) or go through the process with H1B?

My wife and our son are on F2 visa right now. My wife is a computer engineer and was not allowed to work on F2 visa during my PhD. Can she work as an H1B dependent? Do you think it is worth to spend $10K to obtain NIW?

tucif 1 day ago 3 replies      
Are there legal ways to be hired as remote worker for a company that only has operations in the US and live/work from another country? Edit: As a Non-Us citizen.
calvinbhai 1 day ago 1 reply      
I've used up all 6 yrs on H1b (including recapture) and currently transitioning to F1, I'm exploring the O-1 visa. I'm an Indian citizen, born in India.

Question 1: Can I qualify for an O-1 visa if I'm part of a company as a co-founder/CXO that's been accepted in Y-Combinator or similar programs? (does that satisfy the "attained membership in associations that require outstanding achievements....."?)

Question 2: In the mean time, if I want to register a company in the US (for liability reasons) to release a free app in the app store, can I do it under my current visa status (change of status from H1 to F1) if there are no plans of monetizing the app in the near future?


cgb223 1 day ago 1 reply      
If I'm aware that a member of my company is an illegal immigrant, what can I do to protect them and the company?
proberts 1 day ago 0 replies      
I am going to sign off now but I'll be back on again this weekend to respond to any final questions and comments. As always, it's been a pleasure conversing with everyone. I always learn something. Thanks.
lijurajpillai 14 hours ago 0 replies      
I have one company in India and another in US and I am the CEO of both. Same name and same directors (Indian citizens) but not a subsidiary .The India company is 4 years old and US company 1.5 years.For the US company we have US Bank account , Tax filing etc. I visit US in B1 frequently , what is the best option for me to pursue Green card. Is L1A a good option?
opdahl 21 hours ago 0 replies      
Hi Peter, thank you for doing this. I am in the process of starting my own company in Norway, and I am planning on applying for YC within next year. I am wondering, if we get accepted, what will be the best way for me to legally start a US company, and work for it in the US for three months? I've heard that H1B will not be possible since there would be employer - employee relationship, so what would be a good option? You did mention O1, but I am afraid I do not qualify since Inam straight out of university.

YC says that they accept 10+ non US companies for each batch, do you know what visa they use while in the US?

gkuhlmann 1 day ago 1 reply      
Hi Peter,

I'm in US on a TN visa and started a company (no revenue/no employees) to list apps on app store. When I went to renew my TN status, Immigration officer gave me a bit of a hard time saying I needed approval to open this business from Homeland Security. Is this true?

proberts 1 day ago 0 replies      
I'm going to take break now for an hour or so and then return. Thank you for all the great questions and comments!
gyardley 1 day ago 1 reply      
As a Canadian citizen married to an American - would voluntarily abandoning your permanent residency (say, to live in your home or a third country for a few years) make it more difficult to re-obtain permanent residency in the future?
tocomple 1 day ago 1 reply      
Hi Peter, I'm working in the US for a big tech company with an H1B1 visa (something like a lightweight version of the H1B, but exclusive for people of Chile and Singapore). My wife is a US citizen. I want to apply for a Green Card, but I'm not sure what's the path that I should follow. Is it more likely to get it through my marriage or through my employer? Is there any otherrelevant reason why should I choose one over the other?
j1f1h1bgc 1 day ago 1 reply      
Hi Peter,I have heard they call you the James Bond of immigration. What do you think you this nickname and how did you get it?
coolsank 1 day ago 1 reply      
Hi Peter!, first off, just wanted to say thanks for all the help you provide here! Its nothing short of amazing!

I'm currently on an H1B, but I'd like to set up an ecommerce store with a friend. I understand that itself may not have enough grounds to get an O1 visa. Is there any other workaround for this scenario?

ryandamm 1 day ago 0 replies      
Let me just say "thanks" for your help with our immigration needs!

Because Peter is probably too modest to self-promote, let me do it for him: working with him is great, it was completely friction-free and we got our employee's visa situation handled very, very quickly. Highly recommend.

scollins 1 day ago 1 reply      
Hi Peter,

Indian Citizen here. I have a startup incorporated via Stripe Atlas. If it reaches $1 Million in annual revenue, can I qualify for EB5 green card?

Or if I have around $500K in revenue and raise $250K from investors, does that help with EB5?

achoonacho 1 day ago 1 reply      
Hi Peter,

If I want to enter the US under the TN visa, do I have to get a job offer that says its only for a period up to three years (the max TN term)? What should the job offer letter say about the period of employment, if anything at all?

vishakh82 1 day ago 1 reply      
Hi Peter, has the been any uptick in RFEs and denials for H1 applications and transfers under the current administration? Have there been any other noticable changes for startup immigration under this regime?
notfalse 18 hours ago 0 replies      
Hi Peter. I am a US permanent resident and will be moving and starting work in US soon. My wife is not a permanent resident or citizen of US. I'm aware that I can apply for an F2A visa for my wife, but she will have to wait outside the US for nearly 2 years.

Is there a way she can be in US, with me, while she waits for her permanent residency?

Things we had considered: a) she can stay in US and work with a US company (unlikely) b) she can stay in US and work remotely with her company outside US. c) she stays in US and takes up studying d) she stays in US and just waits.

Thanks for your advice.

auganov 1 day ago 1 reply      
Consider the following scenario: a foreign (non-resident alien) founder gets funded in the US, standard C-Corp. The founder and the entire team are based in another country.The founder comes to the US once in a while for somewhat extended stays (~1month) to fundraise, do deals, etc. Regular B1/B2 visa. But expectedly, they will still do a bit of work in the meantime. Are they in violation of the B1/B2? If so, would being paid by a foreign subsidiary help it?
yomansat 1 day ago 1 reply      
Hi Peter, thanks for doing this.I'm on L1B, and I was surprised to receive 221(g) while renewing my visa.

I was told to wait for 2-6+ months for a response and crossed my existing visa that expires end of the year.

If my visa expires before hearing back, does that mean I lose my job in the US? It's a European company so they might offer me to transfer back to the UK.

Do I have any rights in such a situation? like ask for a reason for this, or perhaps a severance pay? can I still visit my spouse (in MA) on an ESTA given this is considered a visa rejection for now?

Thanks again.

prspecialist 1 day ago 2 replies      
Hi Peter, currently on my 3rd E-3 visa with the same employer as a 'Public Relations Specialist'. My employer is now starting the green card process. They are preparing the application, and have updated the job description to reflect my current responsibilities and minimum requirements.

My BA major is a field called "Performance Studies', which is an obscure interdisciplainry sub-field of Social Sciences and Humanities. My specific research is directly related to my job - experiential marketing in nonprofits, and my employer considers this a "related field" to Marketing, Communications or Public Relations major.

My issue is that my employer does not want to list "Performance Studies" as a required major in the minimum requirements, but my lawyer is recommending we do this to avoid a denial. What are my chances of approval if we list minimum requirement as "BA degree in Marketing, Communications, Public Relations, or related field" - with Performance Studies + my specific research as the 'related field'? I'm finding it hard to get advice from peers as most people I speak with applied for their GCs as engineers or mathmatics majors - your thoughts are much appreciated!

dev_throw 1 day ago 1 reply      
Would applying for a green card on a TN Visa be considered a violation of the non dual-intent of the visa and prevent me from renewing/applying for TN Visa at the border?

Context: naturalized Canadian citizen (Indian born) on a TN Visa working in the states.

From what I have read, green card applications are determined by country of birth, and for India are upwards of 3 years. So, I would like to know if an application for a green card would jeopardize future TN Visas at the border.

Thanks a lot for doing this AMA, Peter!

jlos 1 day ago 1 reply      
If NAFTA talks break down and the treaty is cancelled, what could happen to Canadian workers on TN visas?
vonagam 1 day ago 1 reply      
Hi, i'm looking in possibility of setting up subsidiary for US firm for which i'm currently working as contractor to qualify for L1 visa after next year of work.

I'm curious about last sentence in subsidiary definition:

"(parent) owns, directly or indirectly, less than half of the entity, but in fact controls the entity."

What are possible examples of control without ownership?What legal documents can be provided to prove such relationship?

peterburkimsher 1 day ago 0 replies      
I went to Los Angeles and did a summer job at Axiotron in 2008. Then I tried to convert to a student visa when I moved to study at UCSB for an exchange programme.

My address changed, and I never got a letter asking for proof of funds. The USCIS didn't recognise the letter from my parents' bank.

I petitioned to reopen the application when I found out it was denied. I waited for months, and eventually was given 30 days to leave the country because I didn't have $25,000 cash in my own name (I was 19 years old. I still don't have that much money now). Thankfully I was already scheduled to leave 7 days later - the process had taken the entire year, so I finished my exchange programme.

I think that means the US kicked me out, and I can never get a visa to go back. I did travel there as a tourist once, over land from Canada just in case.

Is it worth ignoring any opportunity to work in Silicon Valley because of that bad experience? I'd rather work in New Zealand or Canada or (stay) in Taiwan anyway.

throthrothis 1 day ago 4 replies      
Please all H1Bs of Indian nationality. Do not waste your time, age, money and family life waiting for H1B based GreenCard. Its a lost cause. Move to Canada, Australia or somewhere else. Live a good life rather than being indentured servants for US corporations for a good chunk of your productive age. I moved to Canada some years back and I am really happy about my decision.
cltxp 1 day ago 1 reply      
Two questions; thanks for the AMA!

- Does Premium Processing I-140 actually decrease the total time to green card for concurrently filed cases? (i.e. does USCIS really do work on 485 even before 140 is fully adjudicated?)

- How early would it be "safe" to quit job and start a tech startup after green card is issued for a software engineer at a bigco?

kreeWall 1 day ago 1 reply      
Hi Peter, thanks for doing this!

If a recent college grad is on OPT, and lets say they majored in actuarial science (STEM), are they allowed to make money selling crafts and art that aren't related to the major? I know there's a clause for jobs unrelated to your major, but I wasn't sure if this applied to selling art or having art showings. How does this work?


kmonad 1 day ago 0 replies      
Hi, post docs in the USA often hold J1 Visas. Afaik this means: no intention to immigrate, and no right to start a business. But life plans may change, and thus both these may become problems. What advice do you have for entrepreneurially minded researchers w/o the right to act on it?
nickhalfasleep 1 day ago 0 replies      
Thanks for answering questions. This is sort of an oddball question, but does the case of Xytex Corporation v. Schliemann in 1974 still hold much bearing these days on immigration and technology employment?

I was told by Mr. Perera, that it was one of the first cases in this field and he was always proud to have been involved in it.

nb250 1 day ago 0 replies      
I'm here on an H1B. My employment sponsored I-140 was approved over 180 days ago.I'd like to change jobs, and my prospective new employer has renewed/transferred my H1B (not approved yet, but I have the receipt).The I-140 application has not been transferred

However, the day I intended to resign my current work I got a notification of interview from the USCIS (to take place in the next month or so).

The interview I'm told may result in getting the greencard on that da, or they may need up to 5weeks for additional review.

What happens if I do follow through and change jobs in the days prior to the interview, does that have any affect?

jaydenwindle 1 day ago 2 replies      
What advice would you have for someone who wants to immigrate from Canada to work in Silicon Valley but does not possess a post-secondary degree? Is there a particular visa that is well suited for tech workers without a post-secondary education?
xoail 1 day ago 1 reply      
Hi Peter,

I am Indian citizen on H1-B with GC EB2 priority date of 4/2011 and approved I-140. I've been with same company ever since in US. Is there a way to make my GC processing go any faster? A lot of my friends are in similar situation and are eager to star a company. Many thanks!

lauragomez1 1 day ago 1 reply      
Hi Peter, I got a L1B visa a month ago, i.e. I'm an intracompany transferee and I want to know if I'd be authorised to work for other companies in the US in the future. If so, should I have to get a different kind of visa? What's the process like? Thanks!!
bitlis 22 hours ago 0 replies      
I know that while on H1B, I can co-found a company as long as I can demonstrate a employer-employee relationship. But what can I do if I want to apply for green card under my company, if I only have enough qualifications for EB2? From what I understand, Labor Certification for EB2/EB3 will not go through if the applicant has significant shares of the sponsoring company.
throwawayjon 1 day ago 1 reply      
I first had my H1b approved several years back. I was with Company A for 2 years before I moved back to India to work at another company. I then came back to the US where I worked on H1b (same visa) for Company B for another 2.5 years. So I've used up around 4.5 years on my H1b that was first issued in 2007. I left the US and am now based in Canada.

I recently got another offer from Company C in the US. Does Company C need to apply for a new H1b, or can they simply transfer the current H1b I have? Note that my current H1b (that was sponsored by Company B) expired in May 2017, but I still have 1.5 years that I can use on it before the 6 year limit, as far as I understand. I hope my question makes sense.

anon1486 1 day ago 0 replies      
Hi Peter,I'm a Iranian PHD student and got 2 offers from a big co and a startup. Both companies were very excited on having me on-board, but now both have decided to not move forward with my export license. This comes at a terrible time as I just got my opt and now need to find a new job. Can you shed some light on the requirements of export license and costs associated?
amingilani 1 day ago 1 reply      
I'm currently in the process of gaining recommendations for my EB2-NIW visa. Would you have any advice for the recommendation?

Also I made a web app to make it easier for people to write recommendation letters for me[1]. If anyone here has critique, I would greatly apprecate

HN PLEASE DON'T POST IT, I PLAN ON MAKING A SHOW HN NEXT WEEK. But you're welcome to recommend me and share the fact that you recommended me via email/twitter.

[1]: https://recommend.gilani.me

rootedbox 1 day ago 1 reply      
I'm a US citizen in SF.. my girlfriend is Canadian. Is there any easy way for her to stay here long term minus marriage. She has a degree but not in a field where sponsoring is likely.
anocendi 1 day ago 1 reply      
Hi Peter, thank you for doing this.

What are the steps towards citizenship after one got Green-Card via H1B -> Green-Card route under the current administration's laws? Are there any changes and new restrictions, etc.?

rc77 1 day ago 1 reply      
Hi Peter, thanks for answering questions!

Could you please comment about changing employer after obtaining employment-based Green Card?

It's considered to be safe to work for current employer for at least 6 months after getting GC. However there is no such legal requirement and there's the AC21 Act. Also I've heard about 2-year period after getting GC: if applicant worked less than 2 years for sponsored employer, he/she should prove his intent to work permanently. After 2 years USCIS should prove lack of intent.

However it's still looks like a grey area.


rafikicoln 1 day ago 1 reply      
Thank you for doing this Peter! How does the H1B transfer work when switching jobs? How do I make sure that I can stay in the country while switching jobs and I don't have to wait 3 months to get an approval.


gvsi 1 day ago 1 reply      
Hi, I received a full-time offer to work as a software engineer at a company in the Bay Area after my graduation in May 2018. They are willing to sponsor my H-1B, but I am also looking into other options in case I don't get it.

Now, I am an undergraduate student in the UK. I am also finalizing the contract with the same company for remote part-time work (20 hours/week) during my final academic year (around 9 months of work). I would be on the EU Payroll of the same company.

Could this remote part-time work count for a L-1 visa?


wireedin 1 day ago 0 replies      
Hello Peter. First thank you for taking the time on addressing these very important questions. I am sure these are very emotional topics for many and we appreciate your help.

My question is: What is the process after submitting DS-260 and supporting documents on Immigrant Visa / Consular Processing. My interview should be scheduled in Tbilisi, Georgia for which I believe visas are current. I would appreciate if you could advice with approximate time frames for each step.

practicium 1 day ago 0 replies      
Hi,I worked on a H1B from 2008 until 2009, then from 2013 until 2015 for a different company, all in all I have used very close to 3 years. 1- Can I reactivate my H1B at any moment to work for a company in the US for another 3 years ?2- On a H1B is it possible to work in the US for 1 week per month and the rest remotely from abroad? Does it have to be at least 2 weeks per month? 4 weeks per month?Thanks so much for doing this!
kudakarkat 1 day ago 1 reply      
Can a startup hire only H1B holders and no american citizens at all?
TomMarius 1 day ago 1 reply      
Is it possible to obtain a permanent residence in the US while continuing to work for my own foreign company with no US office as a some kind of a sales representative?
jfim 1 day ago 1 reply      
Are there any drawbacks that you can think of with regards to having a green card instead of staying on H1B? The only thing I can think of is the fact that having the green card can potentially mean that there is potentially an exit tax to pay for high net worth individuals, assuming one wants to leave the US after more than eight years.

Also, if someone is on H1B and ends the visa (eg. break in employment), do future H1B applications have to go through the lottery again?


planck1 1 day ago 1 reply      
Hi Peter, thank you so much for this! I have questions about the O1 visa.

1. If a startup sponsors an O1 for a founder, will there be any issues with 1/ the O1 founder having the CEO title 2/ the O1 founder owning between 30-50% equity in the company? Is it effectively the same as if I was on a green card?

2. If the startup that sponsors the O1 substantially pivots to a new idea, what are the implications for visa status? Does it require an entirely new application?

Thanks so much!

graeme 1 day ago 1 reply      
How would you go about establishing us income for an E1 visa?

Background is I showed the consulate all my sales reports. I'm in a niche where almost all worldwide sales are in the us. So about 85% of my sales are from there.

They're not considering the documents. They want a report from an accountant or an auditor. I'm producing that, but given their extreme skepticism so far, I'm wondering if there's something else I should be doing.

quanglam2807 1 day ago 1 reply      
Hi Peter,I am a Vietnamese student studying in the US with the F-1 visa. Recently, together with my American partner we opened a startup using Stripe Atlas.

The visa doesn't allow me to work in the US so I'll go back to Vietnam in the next four months to work on the product. But when I go back to school, what is the best way for me to work legally? I know I can apply for OPT but it would take me up to three months to get approved. Is there a better solution?

Chamuco1198 1 day ago 1 reply      
Hello Peter: I'm a U.S. male citizen who married a Mexican single mom. The child is a U.S. citizen as well. We're in the process of getting my wife a green card. Because of my job in L.A., and because my wife's business interests are in Mexico, we have a commuter marriage. She intends to stay in Mexico until we're empty nesters. Will that be a problem in the interview when getting her green card?Thanks much
Throw123away555 1 day ago 1 reply      
Peter, for an E2 visa, when demonstrating that an investment is "substantial", how does the accounting work for intangible or in-kind contributions to the business? Is it possible to include the value of time spent building the initial product (while outside the US)? Does it make a difference if the applicant had a foreign company to do the initial development and paid themselves a salary?
simplyaccont 1 day ago 0 replies      
I am currently in USA on L1 visa and I also have an L2 visa and EAD which will expire in February. Is it possible to extend EAD while entered to USA on L1 ?And is there a way to check validity of the visa: when I got L1 visa my B visa was stamped as canceled but L2 remained and I want to make sure that it's still viable.
johmathe 1 day ago 1 reply      
If someone has:- a full-time job in a foreign country (say, Germany) that sends him in the US on a 2 months mission,- a part-time job in the US (1 day per week), which let him work from Germany but also in the US under a part-time O1 visa (accepted).

How should that person enter the US for the 2 months trip? Under an VISA waiver B or O1 part-time?

Thank you so much for your time.

squillful 1 day ago 2 replies      
Hi Peter! A friend of mine has just started OPT and has founded a company. She plans on using the STEM extension too, which was a successful path for myself and some others, but the recent changes to the STEM extension seem to be considerably more limiting now. Do you have any guidance on options for founders considering the OPT and STEM extension route?

Many thanks in advance!

itissid 1 day ago 1 reply      
Hi Peter, Thanks for doing this. 1. Since premium processing for many H1B categories is suspended are tech companies looking to wait out 2 or so months to wait for the USCIS approval to hire an H1B(assume in this case that person cannot work on the receipt of the H1B application)?2. What processing times are you seeing currently for H1B petitions?
dpbrown81 1 day ago 0 replies      
Hi Peter, thanks for your time. Any specific tips for the E3 process when US employing entity is brand new? We are an Aussie company that has been around for 7 years. We are setting up a new US entity and first hire in the US is an Aussie. In your experience would a new entity face any extra scrutiny?
throwawaygrant 1 day ago 1 reply      
My startup took a convertible note angel round. We were planning on raising another round, but then won a large grant. It will take us to profitability, and we don't plan on raising any more.

How do these types of situations typically resolve for dealing with note holders, when there is no longer any expectation of another raise or liquidation event?

phaefele 1 day ago 1 reply      
Thanks for doing this Peter. I am currently thinking of accepting a US computer programming job (part in US, part in Canada) and am thinking of using a TN visa to travel back and forth (1 week per month in US, 3 weeks in Canada.) Do I need to be concerned about what might occur if Donald Trump et al decide to drop NAFTA?
zeusk 1 day ago 1 reply      
Hi Peter!

I'm currently a student on F-1 visa. I had two questions re: immigration.

* If I apply to and get into YC, what would be needed on the visa/work authorization front? Will I have to apply for pre-OPT/CPT?

* When considering someone for post OPT, does USCIS check for 12 months including pre OPT and CPT or is it just 12 months of CPT?

arm64 1 day ago 1 reply      
Hi Peter,I recently moved to US (from India) on L1B. While I was in India, I had an app on App Store and making small money. I developed this app in my personal time and this is not related to my job. Can I continue improving the app (in my personal time) while I am in US on L1B?
47 1 day ago 1 reply      
Hi, We are a Canadain Startup, but we also have a US corporation as well as we have as we have employees and warehouses in US.

Our System and Network Mamager is Canadian PR but I will like for him to work in US for time to time. He is a Russian Citizen. What kind of VISA we can apply for him to be to work in US?

bharatnt 1 day ago 2 replies      

I am from India and I want to know the options that I have to come to valley.

I don't have graduate degree but I have learned Computer Science from sites like edx and coursera.

If needed I can pay a little fee on those sites and get the certificate of complications that they provide.

What are available options?

I really appreciate you taking time to do this ama. Thank you

pedro_hab 1 day ago 1 reply      
I'm going to the US on a J-1 visa, I don't have a Bachelor's degree, though I have 2 years pursuing it.

It seemed unlikely I'd get a H1-b w/o the bachelors, what other options do I have?

I've thought on going back to Brazil for a year, then coming back on a L1 as a last resort.

paloaltokid 1 day ago 2 replies      
Hello Peter! I am a US Permanent Resident since 1997. Should I be concerned about traveling internationally at the moment, US politics being what they are? Or is it safe to assume that if I leave the country for a short while, I'm not going to get turned away at the border?
Ask HN: What is your favorite CS paper?
764 points by lainon  2 days ago   253 comments top 117
joaobatalha 2 days ago 5 replies      
"Reflections on Trusting Trust" by Ken Thompson is one of my favorites.

Most papers by Jon Bentley (e.g. A Sample of Brilliance) are also great reads.

I'm a frequent contributor to Fermat's Library, which posts an annotated paper (CS, Math and Physics mainly) every week. If you are looking for interesting papers to read, I would strongly recommend checking it out - http://fermatslibrary.com/

- Reflections on Trusting Trust (Annotated Version) - http://fermatslibrary.com/s/reflections-on-trusting-trust

- A Sample of Brilliance (Annotated Version) - http://fermatslibrary.com/s/a-sample-of-brilliance

cs702 2 days ago 2 replies      
I would never call it my "all-time favorite" (no paper qualifies for that title in my book), but Satoshi Nakamoto's paper, "Bitcoin: A Peer-to-Peer Electronic Cash System" deserves a mention here, because it proposed the first-known solution to the double-spending problem in a masterless peer-to-peer network, with Byzantine fault tolerance (i.e., in a manner resistant to fraudulent nodes attempting to game the rules), via a clever application of proof-of-work:


Others in this thread have already mentioned papers or opinionated essays that quickly came to mind, including "Reflections on Trusting Trust" by Ken Thompson, "A Mathematical Theory of Communication" by Claude Shannon (incredibly well-written and easy-to-follow given the subject matter), and "Recursive Functions of Symbolic Expressions and Their Computation by Machine" by John McCarthy.

I would also mention "On Computable Numbers, with an Application to the Entscheidungsproblem" by Alan Turing, "On Formally Undecidable Propositions of Principia Mathematica And Related Systems" by Kurt Gdel, and "The Complexity of Theorem Proving Procedures" by Stephen Cook, but in my view these papers are 'unnecessarily' challenging or time-consuming to read, to the point that I think it's better to read textbooks (or popular works like "Gdel, Escher, and Bach" by Douglas Hofstadter) covering the same topics instead of the original papers. Still, these papers are foundational.

Finally, I think "The Mythical Man-Month" by Fred Brooks, and "Worse is Better" by Richard Gabriel merit inclusion here, given their influence.

This is by no means an exhaustive list. Many -- many -- other worthy papers will surely come to mind over the course of the day that I won't have a chance to mention here.

There are many other good recommendations elsewhere in this thread, including papers/essays I have not yet read :-)

nikhizzle 2 days ago 4 replies      
Without a doubt.

Time, Clocks, and the Ordering of Events in a Distributed System. Leslie Lamport.


My first introduction to time scales as a partial ordering. Very mind opening.

0xf8 2 days ago 2 replies      
"A Mathematical Theory of Communication" - Claude E. Shannon


thristian 2 days ago 2 replies      
Out Of The Tarpit, by Moseley and Marks


The first half of the paper is a spot-on critique of so many things that go wrong in the process of designing and implementing large-scale software systems. The second half, where the authors propose a solution, kind of goes off the rails a bit into impracticality... but they definitely point in a promising direction, even if nobody ever uses their concrete suggestions.

akkartik 2 days ago 1 reply      
Peter Naur, "Programming as theory building." (1985)

programming properly should be regarded as an activity by which the programmers form or achieve a certain kind of insight, a theory, of the matters at hand. This suggestion is in contrast to what appears to be a more common notion, that programming should be regarded as a production of a program and certain other texts.


KirinDave 2 days ago 7 replies      
I've been trying to get it frontpaged because, despite it's length, it's perhaps one of the most startling papers of this decade. Sadly, it seems like the HN voting gestalt hasn't decided to upvote a paper that's the CS equivalent of breaking the speed of light:

"Generic Top-down Discrimination for Sorting and Partitioning in Linear Time" ->


(if you're daunted by an 80 page paper as I am, there is also a talk on it: https://www.youtube.com/watch?v=sz9ZlZIRDAg)

It is possible, with some proper insight and approaches, to sort general datastructures in linear time on modern computing hardware. The speed limit of sort is O(n) with some extra constant cost (often accrued by allocation). It works by decomposing and generalizing something akin to radix sort, leveraging a composable pass of linear discriminators to do the work.

There's a followup paper using this to make a very efficient in-memory database that one could easily generalize under something like kademelia and with care I suspect could make something like a better spark core.


I keep submitting and talking about this but no one seems to pick up on it. This paper is crazy important and every runtime environment SHOULD be scrambling to get this entire approach well-integrated into their stdlib.

Unsurprisingly, Kmett has already implemented it in Haskell (it generalized neatly under the dual of the applicative+alternative functor): https://hackage.haskell.org/package/discrimination

flavio81 2 days ago 2 replies      
Automated Distributed Execution of LLVM code using SQLJIT Compilation

As collected by the SIGBOVIK group:



"Following the popularity of MapReduce, a whole ecosystemof Apache Incubator Projects has emerged that all solve thesame problem. Famous examples include Apache Hadoop,Apache Spark, Apache Pikachu, Apache Pig, German Sparkand Apache Hive [1]. However, these have proven to beunusable because they require the user to write code in Java.Another solution to distributed programming has beenproposed by Microsoft with their innovative Excel system. Inlarge companies, distributed execution can be achieved usingMicrosoft Excel by having hundreds of people all sitting ontheir own machine working with Excel spreadsheets. Thesehundreds of people e combined can easily do the work of asingle database server."

PS: This thread is great, i'm bookmarking because here there are good (serious) papers.

andars 2 days ago 0 replies      
I'll take a broad interpretation of 'CS' and throw out a couple of personal highlights.

C. Shannon, "A Symbolic Analysis of Relay and Switching Circuits" (1940): https://dspace.mit.edu/bitstream/handle/1721.1/11173/3454142...

Shannon's master's thesis, which introduces boolean algebra to the field of digital circuit design.

R.W. Hamming, "Error Detecting and Error Correcting Codes" (1950): https://ia801903.us.archive.org/1/items/bstj29-2-147/bstj29-...

In Hamming's own words: "Damn it, if the machine can detect an error, why can't it locate the position of the error and correct it?"

J.T. Kajiya, "The Rendering Equation" (1986):http://cseweb.ucsd.edu/~ravir/274/15/papers/p143-kajiya.pdf

Kajiya introduces the integral rendering equation, which is the basis for most current techniques of physically based rendering.

jasode 2 days ago 2 replies      
"The Limits of Correctness" (1985) by Bryan Cantwell Smith: https://www.student.cs.uwaterloo.ca/~cs492/11public_html/p18...

I know Thompson's "Reflections on Trust" and Shannon's "Communication" papers are more famous but I believe BCS's "Correctness" paper has more immediate relevance to a wider population of programmers.

For example, I don't believe Ethereum's creator, Vitalik Buterin, is familiar with it because if he was, he would have realized that "code is law" is not possible and therefore he would have predicted the DAO hack and subsequent fork/reversal to undo the code.

Seriously, if you read BCS's paper and generalize its lessons learned, you will see that the DAO hack and its reversal as inevitable.

gregors 2 days ago 2 replies      
"Reflections on Trusting Trust" - Ken Thompson


agentultra 2 days ago 1 reply      
Most of my favourites have already been listed but one I found particularly interesting was Von Neumann's Theory of Self-Reproducing Automata [0].

[0] http://cba.mit.edu/events/03.11.ASE/docs/VonNeumann.pdf

tksfz 2 days ago 0 replies      
Purely Functional Data Structures by Chris Okasaki - https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf

Can programming be liberated from the von Neumann style? - John Backus's Turing lecture - http://dl.acm.org/citation.cfm?id=1283933

irfansharif 2 days ago 0 replies      
Diego Ongaro's Raft paper[1]. Perhaps this only speaks to my experience as a student but having surveyed some of the other papers in the domain (paxos[2] in its many variants: generalized paxos[3], fpaxos[4], epaxos[5], qleases[6]), I'm glad the author expended the effort he did in making Raft as understandable (relatively) as it is.

[1]: https://raft.github.io/raft.pdf

[2]: https://www.microsoft.com/en-us/research/wp-content/uploads/...

[3]: https://www.microsoft.com/en-us/research/wp-content/uploads/...

[4]: https://www.microsoft.com/en-us/research/wp-content/uploads/...

[5]: https://www.cs.cmu.edu/~dga/papers/epaxos-sosp2013.pdf

[6]: https://www.cs.cmu.edu/~dga/papers/leases-socc2014.pdf

emidln 2 days ago 0 replies      
A bit cliche for HN, but I really enjoyed RECURSIVE FUNCTIONS OF SYMBOLIC EXPRESSIONS AND THEIR COMPUTATION BY MACHINE (Part I) by John McCarthy[0]. It was accessible to someone whose background at the time was not CS and convinced me of the beauty of CS -- and lisp.

[0] - http://www-formal.stanford.edu/jmc/recursive.html

chadash 2 days ago 2 replies      
It might be a cliche one to pick, but I really really really enjoy Alan Turing's "Computing Machinery and Intelligence"[1]. This paper straddles the line between CS and philosophy, but I think it's an important read for anyone in either field. And a bonus is that it's very well-written and readable.

[1] https://www.csee.umbc.edu/courses/471/papers/turing.pdf

twoodfin 2 days ago 1 reply      
Cheating a little, but the collected Self papers are what I'd bring to a desert island:


CobrastanJorji 2 days ago 0 replies      
Yao's minimax principle. It's not a very exciting read or a very exciting conclusion compared to some of these other papers, but it's still interesting, and the conclusion has been practically useful to me a small handful of times.

It concerns randomized algorithms, which are algorithms that try to overcome worst case performance by randomizing their behavior, so that a malicious user can't know which input will be the worst case input this time.

The principle states that the expected cost of a randomized algorithm on a single input is no better or worse than the cost of a deterministic algorithm with random input.

Yao proves this is the case by constructing two zero sum games based around the algorithms' running times and then using game theory (specifically von Neumann's minimax theorem) to show that the two approaches are equivalent. It's a really neat approach!

brad0 2 days ago 1 reply      
Kademlia, a P2P distributed hash table. DHTs are very complex from the outside but very simple once you understand the building blocks.


vaibhavsagar 2 days ago 1 reply      
There are a ton of fantastic Haskell papers, but if I had to pick one this would be it. It reconciles the pure and lazy functional nature of Haskell with the strict and often messy demands of the real world:

State in Haskell. John Launchbury and Simon L. Peyton Jones


zzzcpan 2 days ago 1 reply      
Worth mentioning Joe Armstrong's "Making reliable distributed systems in the presence of sodware errors" [1].

[1] http://erlang.org/download/armstrong_thesis_2003.pdf

gens 2 days ago 0 replies      
"Communicating Sequential Processes" by Tony Hoare


I read it multiple times and still don't quite understand it all.

There are more great papers i read but this one comes back to mind more often then others.

btilly 2 days ago 0 replies      
As We May Thinkhttps://www.theatlantic.com/magazine/archive/1945/07/as-we-m...

This paper, written during WW II (!) by someone who had around to 20 years of computing experience at that time (!!) introduced the world to the ideas like hypertext, and citation indexes. Google's PageRank algorithm can be seen as a recombining of ideas from this paper.

This is worth reading to see how much was understood how early.

dvirsky 2 days ago 1 reply      
The Anatomy of a Large-Scale Hypertextual Web Search Engine, by Brin and Page.

Not only for the historical value of changing the world, and for the fact that it's very interesting and readable; It has personal value to me: the first CS paper I've ever read and it inspired me and changed the course of my life, literally.

Also, it has some very amusingly naive (in hindsight) stuff in it, like: "Google does not have any optimizations such as query caching, subindices on common terms, and other common optimizations. We intend to speed up Google considerably through distribution and hardware, software, and algorithmic improvements. Our target is to be able to handle several hundred queries per second"


romaniv 2 days ago 0 replies      
I don't have a favorite research paper, but there is a long Ph.D. thesis I've recently read in its entirety and found a lot of interesting ideas:

Programming with Agents: http://alumni.media.mit.edu/~mt/thesis/mt-thesis-Contents.ht...

Here is a short paper with a clear description of an ingenious idea.

Engineered Robustness by Controlled Hallucination: http://web.mit.edu/jakebeal/www/Publications/NIAI-2008.pdf

I like the simplicity of it. Most CS researches seem to be afraid of describing things that are simple, even if those things are non-obviosu and valuable.

bra-ket 2 days ago 0 replies      
AnimalMuppet 2 days ago 0 replies      
Why Pascal Is Not My Favorite Programming Language, by Brian Kernighan http://www.cs.virginia.edu/~cs655/readings/bwk-on-pascal.htm...

No Silver Bullet, by Fred Brooks http://worrydream.com/refs/Brooks-NoSilverBullet.pdf

The original STL documentation https://www.sgi.com/tech/stl/table_of_contents.html

archagon 1 day ago 0 replies      
I haven't read a ton of academic research in general, but in trying to understand CRDTs and concurrency, gritzko's paper on "Causal Trees"[1] struck me as incredibly smart and clear in its thinking. Many of the other CRDT papers I read (even influential ones) were flawed in a number of respects: blurred lines between design and implementation, blatant mistakes and typos, hasty and unconvincing conclusions, an overabundance of newly-minted terms and acronyms, dense proofs lacking any concrete examples, unintuitive divisions between operation history and state mutation. The Causal Trees paper is also dense and also invents a bunch of new vocabulary, but the logic is completely consistent (to the point of being unified under a single metaphor) and clearly explained every step of the way. The data format is also very clever, and the paper spends a good amount of time following the practical consequences of those design decisions, e.g. the ease of displaying inline changes, or of generating a particular revision of the document.

Weirdly, the paper isn't much discussed alongside the usual contenders. (WOOT, Logoot, RGA, LSEQ, etc.)

[1]: https://ai2-s2-pdfs.s3.amazonaws.com/6534/c371ef78979d7ed84b...

microbie 2 days ago 0 replies      
Dijkstra's shortest path algorithm in "A Note on Two Problems in Connexion with Graphs" http://www-m3.ma.tum.de/foswiki/pub/MN0506/WebHome/dijkstra....Pure, mathematical and a great impact on both how to prove and define algorithms as well as the problem itself.
1001101 2 days ago 0 replies      
New Directions in Cryptography - Diffie + Hellman


filereaper 2 days ago 0 replies      
Some old ones:

Jeffrey Ullman & John Hopcroft: Formal languages and their relation to automata [0]

Ted Codd: A relational model of data for large shared data banks [1]

C.A.R Hoare: Communicating Sequential Processes [2]




larkeith 2 days ago 2 replies      
The Night Watch by James Mickens is always a good read:


wsxiaoys 2 days ago 1 reply      
Cheney on the MTAhttp://home.pipeline.com/~hbaker1/CheneyMTA.html

Full tail recursion scheme implementation by never "return" in C

ChuckMcM 2 days ago 0 replies      
I've always enjoyed Finseth's Thesis on text editing, "A cookbook for an EMACS", which he turned into a book: https://www.finseth.com/craft/ and is available in epub form for free.
mayank 2 days ago 0 replies      
The Flajolet-Martin paper on counting unique items in an infinite stream with constant space [1]: a great, well-written introduction to streaming algorithms that triggered my first "aha" moment in the field. You never forget your first.

[1] http://algo.inria.fr/flajolet/Publications/FlMa85.pdf

notaharvardmba 2 days ago 1 reply      
Andrew Tridgell's PhD Thesis: https://www.samba.org/~tridge/phd_thesis.pdf

Which documents the invention of rsync, it's a good read.

atilimcetin 2 days ago 0 replies      
Not a single paper but Eric Veach's Ph.D. thesis 'Robust Monte Carlo Methods for Light Transport Simulation' - http://graphics.stanford.edu/papers/veach_thesis/
nrjames 2 days ago 1 reply      
Mine is "Image Quilting for Texture Synthesis and Transfer" by Efros and Freeman. It's simple enough to implement as a personal project and has some nice visual output. Plus, Wang tiles are cool and it's fun to learn more about them.


kwindla 2 days ago 0 replies      
Alexia Massalins 1992 PhD thesis describing the Synthesis Operating System.

Here's Valerie Auroras description of Synthesis:

... a completely lock-free operating system optimized using run-time code generation, written from scratch in assembly running on a homemade two-CPU SMP with a two-word compare-and-swap instructionyou know, nothing fancy.

Which (necessarily) undersells by a very large margin just how impressive, innovative, and interesting this thesis is.

If youre interested in operating systems, or compilers, or concurrency, or data structures, or real-time programming, or benchmarking, or optimization, you should read this thesis. Twenty-five years after it was published, it still provides a wealth of general inspiration and specific food for thought. Its also clearly and elegantly written. And, as a final bonus, its a snapshot from an era in which Sony made workstations and shipped its own, proprietary, version of Unix. Good times.

coherentpony 2 days ago 1 reply      
An Algorithm for the Machine Calculation of Complex Fourier Series

James W. Cooley and John W. Tukey

Mathematics of ComputationVol. 19, No. 90 (Apr., 1965), pp. 297-301


xixixao 2 days ago 1 reply      
Notation as a Tool of Thought, Kenneth E. Iverson


random_comment 2 days ago 0 replies      
Depixelizing Pixel Art


I think this paper is very cute and also technically interesting.

bluedino 2 days ago 0 replies      
"A Method for the Construction of Minimum-Redundancy Codes"


I'm not sure if it was the fact that I was just a kid when I read it, but it was just so obvious and simple but so complicated and amazing at the same time.

bootsz 2 days ago 0 replies      
taeric 2 days ago 0 replies      
"Dancing Links" by Knuth (http://www-cs-faculty.stanford.edu/~knuth/papers/dancing-col...) is still one of my favorites for my actually having understood it. :) I wish I had found it back in grade school. (Though I suspect I wouldn't have understood it, then.)
akkartik 2 days ago 0 replies      
Hofstadter, D. R. and Mitchell, M. (1995). "The Copycat project: A model of mental fluidity and analogy-making." Chapter 5 in D. R. Hofstadter, Fluid Concepts and Creative Analogies.


"Copycat is a model of analogy making and human cognition based on the concept of the parallel terraced scan, developed in 1988 by Douglas Hofstadter, Melanie Mitchell, and others at the Center for Research on Concepts and Cognition, Indiana University Bloomington. Copycat produces answers to such problems as "abc is to abd as ijk is to what?" (abc:abd :: ijk:?). Hofstadter and Mitchell consider analogy making as the core of high-level cognition, or high-level perception, as Hofstadter calls it, basic to recognition and categorization. High-level perception emerges from the spreading activity of many independent processes, called codelets, running in parallel, competing or cooperating. They create and destroy temporary perceptual constructs, probabilistically trying out variations to eventually produce an answer. The codelets rely on an associative network, slipnet, built on pre-programmed concepts and their associations (a long-term memory). The changing activation levels of the concepts make a conceptual overlap with neighboring concepts." -- https://en.wikipedia.org/wiki/Copycat_(software)


lawn 2 days ago 0 replies      
Bitcoin: A Peer-to-Peer Electronic Cash System


arde 2 days ago 1 reply      
All of the classic papers I can think of have already been mentioned, but even though it's too recent to pass judgment a new contender may well be "Deep Learning and Quantum Entanglement: Fundamental Connections with Implications to Network Design" - https://arxiv.org/abs/1704.01552
otakucode 2 days ago 0 replies      
Admittedly a good portion of my appreciation is due to the title alone, but the paper and contents itself are very good as well:

'The Geometry of Innocent Flesh on the Bone: Return-into-libc without function calls' by Hovav Shacham


protomyth 2 days ago 0 replies      
I would say An Agent-Oriented Programming by Yoav Shoham. It certainly set my mind going and made me think about how programs could be organized. I still think, agents, systems of agents, and mobile agent code has a place in computing. Even though some form of RPC over HTTP won over mobile code, I look at the spinning up of VMs and cannot help but think that agents have a place. Combined with the tuple space stuff from Yale, I still see a powerful way to go forward.

1) 1990 http://cife.stanford.edu/node/599

2) 1993 http://faculty.cs.tamu.edu/ioerger/cs631-fall05/AOP.pdf

uvatbc 1 day ago 0 replies      
One of my all time favorites has been the Jefferey Mogul paper on Receive Livelock: https://pdos.csail.mit.edu/6.828/2008/readings/mogul96usenix...

I read it first as a normal CS paper, but later started seeing it as a commentary on an extremely busy work life.

Right there in the first paragraph: "... receive livelock, in which the system spends all its time processing interrupts, to the exclusion of other tasks..."

Does this remind you of anything?

Phithagoras 2 days ago 0 replies      
Not exactly CS, but the Unreasonable Effectiveness of Mathematics in the Natural Sciences is one of my favourites.
beefman 2 days ago 0 replies      
Backus - A Functional Style and Its Algebra of Programs


ddrsurvivor 8 hours ago 0 replies      
I know this doesn't really count, but the "Get me off your fucking mailing list" one made me giggle - http://www.scs.stanford.edu/~dm/home/papers/remove.pdf
rahulmehta95 1 day ago 0 replies      
Trading Group Theory for Randomness by Laci Babai (http://dl.acm.org/citation.cfm?id=22192) -- this beautiful paper introduced algorithmic group theory & interactive proofs (in the form of Arthur-Merlin games) to study the Graph Isomorphism problem, and introduced several groundbreaking new results. Perhaps a more approachable (and funny) version of this would be Babai's humorous essay detailing the flurry of work that broke out after his results introducing AM/MA...it's the closest thing I've seen to making theoretical CS exhilarating :P (http://www.cs.princeton.edu/courses/archive/spr09/cos522/Bab...)
mdhughes 2 days ago 0 replies      
mooneater 2 days ago 0 replies      
"On the criteria to be used in decomposing systems into modules" by David Parnas, 1972, the seminal paper where he brings forward the key ideas that would later be called cohesion and coupling.


Why it was important: you can't build big complex systems without these principles.

Some people say he was instrumental in stopping the Star Wars program, he argued it would be impossible to test outside of war (and therefore doomed).

mrlyc 2 days ago 0 replies      
My favourite is "Targeting Safety-Related Errors During Software Requirements Analysis" by Robyn Lutz at the Jet Propulsion Laboratory. It's available at https://trs.jpl.nasa.gov/bitstream/handle/2014/35179/93-0749...

The article provides a safety checklist for use during the analysis of software requirements for spacecraft and other safety-critical, embedded systems.

p4bl0 2 days ago 0 replies      
It's not exactly a paper but I really liked "The Limits of Mathematics" by Chaitin. I wrote a blogpost about it a few years back (https://shebang.ws/the-limits-of-mathematics.html), I already submitted it to HN (https://news.ycombinator.com/item?id=1725936).
kwisatzh 2 days ago 1 reply      
How to share a secret by Adi Shamir. Simple, elegant, short and highly impactful.
efferifick 2 days ago 2 replies      
Producing Wrong Data without Doing Anything Obviously Wrong.

Immediately useful for anyone measuring compiler transformations performance!

ratsimihah 2 days ago 0 replies      
Deepmind's first paper on deep reinforcement learning.The beginning of a new era towards AGI : )

Human-level control through deep reinforcement learninghttp://www.nature.com/nature/journal/v518/n7540/full/nature1...

GeorgeTirebiter 1 day ago 0 replies      
"Hints for Computer System Design" by Butler Lampson


pradn 2 days ago 0 replies      
My favorite paper in computer systems is "Memory Resource Management in VMware ESX Server". It identifies a problem and devises several clever solutions to the problem. I love papers that make your go "AHA!".


nonsince 2 days ago 0 replies      
Type Systems as Macros


It's not world-changing or even particularly novel, but it's such a simple concept explained very well that really changes how you see the typed/dynamic language divide, as well as language design in general.

Rickasaurus 2 days ago 0 replies      
"NP-complete Problems and Physical Reality" by Scott Aaronson. It relates NP-complete problems to examples in nature. Excellent paper and a fun read.


mathgenius 1 day ago 0 replies      
"The Derivative of a Regular Type is its Type of One-Hole Contexts" - Conor McBride, http://strictlypositive.org/diff.pdf

This shows how you end up "differentiating" datatypes in the context of strict functional programming, in order to do things like "mutate" lists. It is essentially the same as what mathematicians call "combinatorial species".

vsrinivas 2 days ago 0 replies      
From the perspective of - 'take a fresh look at something we take for granted' - "A Preliminary Architecture for a Basic Data-Flow Processor" (Dennis & Misunas 1975)

Focusing on the flow of data between operators and greedily executing a linear program is what an out-of-order processor is.

jhpriestley 2 days ago 1 reply      
The Scheme papers are great http://library.readscheme.org/page1.html

"On the Translation of Languages from Left to Right", by Knuth, I found much clearer and more illuminating than any of the secondary literature on LR(k) parsing.

acoravos 2 days ago 0 replies      
"The Moral Character of Cryptographic Work" by Phillip Rogaway

Background: http://web.cs.ucdavis.edu/~rogaway/papers/moral.html

Paper: web.cs.ucdavis.edu/~rogaway/papers/moral-fn.pdf

Jtsummers 2 days ago 1 reply      
Not a paper, and not strictly CS, but Mythical Man-Month by Brooks. It solidified the connection in my mind between systems engineering and software engineering. Other readings since then have extended and changed this understanding, but this is where my approach to software development started to mature.
jules 2 days ago 0 replies      
A play on regular expressions: https://sebfisch.github.io/haskell-regexp/regexp-play.pdf

This paper explains a beautiful algorithm for matching regular expressions with a Socratic dialogue.

baddox 2 days ago 0 replies      
Scott Aaronson's "Why Philosophers Should Care About Computational Complexity"


sova 2 days ago 0 replies      
"Collaborative creation of communal hierarchical taxonomies in social tagging systems"


wlesieutre 2 days ago 1 reply      
"Interactive Indirect Illumination Using Voxel Cone Tracing" by Crassin et al.

As an architectural lighting guy, seeing realtime global illumination look this good in a game engine was fantastic. Parts of the algorithm I can understand, parts go over my head still, but the results are amazing.

A big part of what I do at work is radiosity simulations in AGI32 which is of course more accurate (because it's trying to accurately simulate real world lighting results) but much much slower.


dkamm 1 day ago 0 replies      
"On non-computable functions" - Tibor Rado.

Proof that the busy beaver function is not computable.


tjr 2 days ago 1 reply      
Growing a Language
chowells 2 days ago 0 replies      
The Essence of the Iterator Pattern, by Gibbons and Oliveira.

This paper develops a precise model for internal iteration of a data structure, such that exactly the necessary information is exposed and no more.

It's a fantastic exploration of improving a well-known design space with justified removal of details. I keep its lessons in mind whenever I am facing code that seems to have a lot of incidental complexity.


coldcode 2 days ago 0 replies      
Royce 1970 of course: http://www.cs.umd.edu/class/spring2003/cmsc838p/Process/wate... wherein he did not introduce Waterfall, but for some reason the negative aspects of his article became the basis for Waterfall. The article for 1970 is surprisingly relevant although archaic in language. It's worth reading to the end. He wrote this describing leading teams in the 1960s do what I assume was actual "rocket" science.
alok-g 2 days ago 0 replies      
Automated Theorem Proving, David Plaisted


di4na 2 days ago 0 replies      
"Programming with Abstract Data Types", B Liskov and S Zilles
whataretensors 2 days ago 0 replies      
The original GAN paper was pretty big for me. https://arxiv.org/pdf/1406.2661.pdf
codelord 2 days ago 0 replies      
ImageNet Classification with Deep Convolutional Neural Networkshttps://papers.nips.cc/paper/4824-imagenet-classification-wi...If not evident already, time will tell that this paper brought us to a new era.
lukego 2 days ago 0 replies      
jonbaer 2 days ago 0 replies      
Anything dealing w/ "reversible computing", makes you ask "what-if" ...



0xf8 2 days ago 0 replies      
The Applications of Probability to Cryptography - Alan M. Turing


surement 2 days ago 0 replies      
The splay trees paper by Sleator and Tarjan (1985) https://www.cs.cmu.edu/~sleator/papers/self-adjusting.pdf

It's just such a cool result and the paper is very well written. Further, the dynamic optimality conjecture at the end is still an open problem.

kageneko 2 days ago 0 replies      
Oh man... I don't know. There's so many.

I'll need to go with

Gilbert, E., & Karahalios, K. (2009, April). Predicting tie strength with social media. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (pp. 211-220). ACM.

In grad school, it was the paper that kept on giving. I think I cited it every semester for a paper or project. There's a lot of other papers and books that really inspired me, but this one was magic.

505 2 days ago 0 replies      
I see some of my favourites among other replies. I don't think I see these:



cjbprime 2 days ago 0 replies      
I'll go with an unconventional choice: Michael Kleber's _The Best Card Trick_: http://www.northeastern.edu/seigen/11Magic/Articles/Best%20C...
phamilton 2 days ago 0 replies      
The Dynamo Paper. http://www.allthingsdistributed.com/files/amazon-dynamo-sosp...

One of the best practical "How can this improve our business?" technical papers, and an excellent introduction to reading papers.

Vervious 2 days ago 0 replies      
Paxos made simple. It's a very beautiful paper.
dansto 1 day ago 0 replies      
PCP theorem as explained by Bernard Chazelle , 2001https://www.cs.princeton.edu/~chazelle/pubs/bourbaki.pdf

Great writing style!

djhworld 2 days ago 0 replies      
Not hardcore CS as some of the other papers on here, but I really enjoyed the BigTable paper https://static.googleusercontent.com/media/research.google.c...
donquichotte 2 days ago 0 replies      
Not CS, but control theory: "Guaranteed Margins for LQG Regulators" by John C. Doyle. The abstract is just three words: "There are none."


megahz 1 day ago 0 replies      
Smashing the stack for fun adn profit http://insecure.org/stf/smashstack.html
haihaibye 2 days ago 0 replies      
Why it is Important that Software Projects Fail


Hernanpm 2 days ago 0 replies      
I sill find this interesting, if you are familiar with Dijkstra Algorithm.

Finding the k Shortest Paths by D. Eppsteinhttps://www.ics.uci.edu/~eppstein/pubs/Epp-SJC-98.pdf

zachsnow 2 days ago 1 reply      
Olin Shivers's work on various control flow analyses, in particular the paper "CFA2: a context-free approach to control-flow analysis", is a really cool static analysis via abstract interpretation. Matt Might had a bunch of papers in a similar vein.
ddebernardy 2 days ago 0 replies      
Knuth vs Email:


It's not technically a CS paper, but well worth the (very short) read regardless.

totalZero 2 days ago 0 replies      
Intelligence without representation, by Rodney Brooks.


damontal 2 days ago 0 replies      
the report on the Therac-25. a good warning that bugs can have very real consequences.


hatred 2 days ago 0 replies      
The Byzantine Generals Problem by Lamport et al is a must read for anyone interested in distributed systems.

Some of the others that have already been mentioned on this thread:

- Time, Clocks, and the Ordering of Events in a Distributed System

- Paxos Made Simple

wwarner 2 days ago 0 replies      
morphle 2 days ago 0 replies      
Scalability of Collaborative Environmentshttps://sci-hub.ac/10.1109/C5.2006.32#
nayuki 2 days ago 0 replies      
"Bitcoin: A Peer-to-Peer Electronic Cash System" https://bitcoin.org/bitcoin.pdf
chajath 2 days ago 0 replies      
throwaway1e100 2 days ago 0 replies      
Real programmers don't use PascalThe rise of worse is better
kruhft 2 days ago 0 replies      
On Formally Undecidable Propositions... by Kurt Godel.

One might argue this is not CS, but it's something everyone should read and understand.

gnaritas 2 days ago 0 replies      
Not a paper, but one of my favorite talks


Growing a Language by Guy Steele (co-inventory of Scheme). Brilliant speech about how to grow languages and why it's necessary. Languages that can be grown by the programmer, like Lisp or Smalltalk are better than languages that fixed like most others, this is why.

rurban 12 hours ago 0 replies      
"Cache-Conscious Collision Resolution in String Hash Tables" Nikolas Askitis and Justin Zobel, SPIRE 2005

The most simple and most effective hash table scheme, and nobody is using it, or even knows about it. Fastest and least memory, but not thread-safe. After 12 years there's still nothing better on the horizon.

Though the CheneyMTA paper is also brilliant, a typical Baker paper.

megamindbrian 2 days ago 0 replies      
My favorite topic was from an advanced user interfaces class. Describe 3 example of a bad user experience where the input in to the system does not give you the expected output. My poor example was a Kleenex box, I try to pull on one Kleenex and it tears or two come out at a time.
johnny_1010 1 day ago 0 replies      
CommunicatingSequential ProcessesC. A. R. Hoarehttp://www.usingcsp.com/cspbook.pdf
Ask HN: As a first time manager, how do I play office politics right?
10 points by wennbo  11 hours ago   5 comments top 4
throwmeaway32 3 hours ago 0 replies      
First off, managing people is not a 'promotion', it is a complete job change. It is not a incremental increase on previous skills or job expectations; it is radically different and you must be aware of that if you want to succeed.

If the company considers a move from a individual contributor to a people manager a promotion then it is disfunctional.

Ignore this whole concept you have of 'playing politics right', you have wayyyyyyyyyyyy more important things to deal with. 8 devs will keep you very busy with 1:1's, career guidance, mentorship along with day to day running and long term more strategic less tactical planning.

Reset your expectations on the problems you will face and have to consider; your entire world is about to change (if you want to be a decent manager).

olliej 1 hour ago 0 replies      
Review game of thrones ;)

More seriously I think you need to realize that there are two politics in management:

First theres managing and interacting with your direct reports. This requires a different set of skills/interactions than the other more politicy element of managing interaction with other teams and higher ups. The latter effects and is effected by where you want your career to go.

The first step for me was recognizing that these two roles are completely different.

PinballWizard 3 hours ago 0 replies      
I agree with everything that has been said by the other two. I find that all the politics I engage in are for the benefit of my people. You will have two major types of peers. Those who want to build an empire, or those who want to help people grow.

You can easily find out those that empire build because they will throw you and even their own team under the bus.

If you are growing your employees, look for others that do so. Follow what they do.

There are a lot of professional development courses that you can take to learn more, but a lot of it is on the job training.

I love tech, but I found the fact that people are always changing a much more fulfilling role to me.

askafriend 6 hours ago 1 reply      
First of all, do you even want to play this game? That's a question worth asking.
70MilionJobs Seeks CTO/Co-Founder
38 points by RBBronson123  1 day ago   14 comments top 5
arikr 1 day ago 1 reply      
Best of luck. This is something that will make people's lives better.

Unsolicited advice, but I highly suggest following Elad Gil's posts both on what kind of CTO would be good (http://blog.eladgil.com/2010/02/hiring-first-5-engineers-wha...) and also doing extremely intense reference checks (if it doesn't feel too thorough, you've not reference checked enough) - Elad has a good guide on that too. http://blog.eladgil.com/2013/03/reference-check-candidates.h...

claudiulodro 1 day ago 1 reply      
That's a shame. This seems like a great service that could help a lot of people. I wish you the best of luck!
pryelluw 1 day ago 1 reply      
Shared thus post to my network. Wish you best of luck.
hyuuu 1 day ago 1 reply      
good luck on your search and my condolences to your co founder.
RandyRanderson 1 day ago 1 reply      
Richard, I can help you with your spelling...
Boost.Beast is a thing: HTTP/WebSockets in C++11
10 points by vinniefalco  11 hours ago   2 comments top
gus_massa 11 hours ago 1 reply      
Can you remove the "(NEW!)" from the title? From the guidelines: https://news.ycombinator.com/newsguidelines.html

> In Submissions

> Please don't do things to make titles stand out, like using uppercase or exclamation points, or adding a parenthetical remark saying how great an article is. It's implicit in submitting something that you think it's important.

Ask HN: What software do you use for your company knowledge base?
7 points by Numberwang  12 hours ago   5 comments top 4
stephenr 10 hours ago 0 replies      
I'm a fan of keeping it simple.

Markdown docs in a git repo, throw gollum in front of it and you have a wiki anyone can browse and technical people can keep offline copies, even edit offline and push changes later.

ai_ia 11 hours ago 0 replies      
I know this isn't relevant, Can you tell what are the knowledge base enterprise level softwares available in the market that are widely used?
parvatzar 10 hours ago 1 reply      
The knowledgebase in ServiceNow & Altassian Confluence are two I use on a daily basis.
Raed667 6 hours ago 0 replies      
A JIRA Wiki.

Could be better

Ask HN: How do you start looking for a new job?
26 points by palerdot  1 day ago   22 comments top 14
mooreds 1 day ago 0 replies      
I won't reach out to my contacts for references when I am thinking about a job change, but I will reach out to them for the proverbial coffee/catch up. At the end of the coffee, after I've spent a lot of time catching up and asking them about how they are doing, I'll mention that I'm looking for a new opportunity and ask if they know anyone that is looking for my skillset. You can't do this unless you are serious.

If you are less serious, then scouring the job boards can be a great way to learn about what skills are in demand, what companies are hiring, and, possibly salaries. (You should do this if you are seriously looking too.) This helps you build context. Also, if you see a great company or an interesting position, this can give you some focus. You can research on linked in, or install an applicable open source project, or write a blog post about tech the company uses or the business they are in.

But I think that @eadz's comment about knowing what you are looking for is spot on. That is the first step to prepare for finding a new job. Don't just say 'I want a tech job', as that won't differentiate you or guide you at all. Instead, say 'I want to be working on a small, local team doing ecommerce websites, preferably on .NET' or 'I want to work on big data processing at scale, in a large company, and am willing to relocate'. That "mission statement" will help you shape your resume, your networking, and your after work job hunting pursuits.

dayve 1 day ago 0 replies      
While looking for a job, don't forget to perform due diligence on the company's culture. I once accepted a job offer hastily, just to get into the company and discover the culture was 'filthy' (poor working conditions, sexual harassment, e.t.c). Glassdoor[0] does a good job at providing reviews, though I haven't seen a tool that helps you 'vet' a company's culture specifically. I think it's important to factor in company culture as you look for a team to join. Good luck with the job search!


blablabla123 1 day ago 0 replies      
For my last job change I didn't reach out for references. (The job before I got because I was collaborating with the people on an informal base and they wanted to hire me - they never saw my CV!) Thus my CV include none and I got invited to much better job interviews than on my previous job hunt. At least in Germany for most interesting IT jobs references/certificates don't seem to be so important. No idea why to be honest.

So as I already arrived at my 5th full-time job, I have all the nice keywords on LinkedIn and headhunters contact me on a regular base. When I look for a job, I basically start answering them again. Also I'm looking on typical job websites, so for me that would be right now indeed.com and possibly berlinstartupjobs.com. I must admit I don't have the tightest network of other developers in the region, so I don't communicate much on LinkedIn besides to headhunters ("job consultants").

Actually im not always on lookout for a new job because I find communication with recruiters too stressful and time consuming. I try to keep every full-time thingy for 2 years, so I don't look like a job hopper. :)

nunez 1 day ago 0 replies      
Fastest way to do it is to reach out to recruiters on LinkedIn with a resume in hand. It helps to have a fully fleshed-out LinkedIn profile for them to reference back to. If you've worked with recruiters in the past, tell them that you're looking again. Good recruiters with a lot of clients can get you into something within a week or two if you're good at interviewing and the client's hiring process is fast (generally, the bigger the client, the slower their hiring process is).

Another way I've done it is by finding jobs on job boards, searching for one of (or the) manager of a team that you're interested in working for and sending them a (short!) message on LinkedIn or email expressing your interest in a job. By short, I mean:

- Hi, I'm <name>

- Your group's responsibilities seem interesting and I'd like to join.

- I'm good at and can help you with <x, y, z>

- I've done projects like <x, y>

- Do you have time for a phone call next week to learn more about me?

They will either not respond (most likely), forward you to a recruiter or talk to you directly. I've gotten better responses from LinkedIn than via email, since some managers have admin assistants who read their email and are good at ensuring this spam doesn't get back to them.

This can sometimes even work if you message a member of that team instead of the manager directly, especially if their one of the top contributors on that team. That can even work better since they'll be more likely to talk to you and can help short-circuit your resume to the right people/their manager. It's a little trickier, though.

Another good way of finding jobs if you're in a big enough city is by checking out local tech Meetups and meeting people. This is a slow way of doing it since you don't want to be "that person" that's fishing for a job at an event that "clearly isn't for that" (most of them are), but it's a good way of expanding your network and finding opportunities that you definitely won't get with recruiters (startups, by and large, don't use recruiters; too expensive).

Good luck!

tixocloud 1 day ago 0 replies      
For most opportunities, it's about when right skillset meet with right timing. I always keep an eye peeled out for what's available out there but there's really no golden way of getting a job. I've tried many different methods and they all work.

What's most important is to be clear about yourself, what your skillsets are and what you can offer to the company. You should also have a good sense of what you're remotely interested in or looking for even if you're not 100% clear yet. Also, think about what skillsets you would like to grow and whether you want to deepen your skills or broaden your skills - You are the master of your growth/development.

eadz 1 day ago 2 replies      
1. Be clear about exactly what you want to do in your next role

2. Put your self in the shoes of a hiring manager for that role

3. Edit your CV to emphasise the skills and experience that makes you a good match.

For tech roles, recruiters are everywhere, and uploading your CV to job sites will get your phone buzzing if you have the right keywords.

For professional roles a vast majority of recruiters use LinkedIn, and the site has a setting for "looking for work" which will boost your profile to hiring managers and recruiters.

I'm currently in the process of moving cities* so going through this process myself, and this approach has worked for me.

*Melbourne here I come!

JSeymourATL 1 day ago 1 reply      
> will you be always on a lookout for a potential job?

Look instead for people (founders/senior executives) you can help.

You can find them at meetups and conferences. Relevant to your search - how to find hidden jobs > http://www.pbs.org/newshour/making-sense/ask-headhunter-can-...

JoeC3 1 day ago 0 replies      
I think it's really a good idea to start looking for a job before you need to.

I've actually never looked for a job per-se, instead I've looked for companies that I've found interesting and then figured out how to get a job at those companies. This usually involves networking.

I would start by creating a list of companies that you think wow that would be a cool place to work. Then start figuring out if a job opened up who you need to speak with.

I've never landed a job by submitting a resume to a job board or to the HR department of the hiring company.

In fact, I already had an offer from my last job before HR even saw my resume.

geezerjay 1 day ago 3 replies      
Forgive my piggybacking, but I would also like to ask how anyone approaches the problem of working on their CV. I believe professional experience is the most important factor, but it also depends on what job you are hired to do, which depends on your resume. Therefore, it's a bit of a gordian knot.

So, how does anyone work on their CV?

probinso 1 day ago 0 replies      
It all depends how different you want your experience to be. If you're interested in a diversity of job environments, then mining your current pool may not be the best route. My favorite way to identify interesting companies is to watch presentations from conferences over topics I enjoy. Any company that sends a employee to give a talk usually is intending to also hire. This gives you a very diverse portfolio of companies to apply to, as there are many different companies represented
JakeWesorick 1 day ago 0 replies      
I recently changed jobs and the biggest thing for me was actually connecting with a legit recruiter (Not the people spamming you on LinkedIn). They lined up interview after interview for me before I even had time to check out a job board. I used re:purpose but they are pretty local to my area. Maybe look into recruiters in your area?
skeet 1 day ago 0 replies      
I moved from perm to contracting in London by hitting up recruiters on LinkedIn and uploading my CV to JobServe.

Phone didn't stop ringing after uploading my CV.

Jeremy1026 1 day ago 0 replies      
I just start to respond to the recruiters that ping me weekly.
SirLJ 1 day ago 0 replies      
Personally I was never actively looking, other companies came and recruited me instead and I find this to be much better position to negotiate...
Ask HN: What configuration management tool would you choose in 2017?
20 points by deeevops  1 day ago   11 comments top 5
stuffaandthings 1 day ago 3 replies      
Ansible, because I like having an agentless configuration management tool. In my experience, Ansible also seems the most readable (obviously subjective). I've used Puppet, and Chef but only through AWS OpsWorks.

That said, I've been playing around with Kubernetes lately and trying to move a lot of our infrastructure onto Kubernetes. The use of Dockerfiles kind of nullifies the need for a full fledged configuration management tool for me and I've been relying on bash scripts and distributed kv stores to manage state and environment variables (using 12 factor approach and managing environment variables with consul and secrets with vault)

richardknop 1 day ago 1 reply      
I'd pick none of them. I'd create a coreos cluster and configure it based on cloudinit files. For more complex projects I'd choose kubernetes or something similar as cloudfoundry.

The point being I'd try to get as far as possible from any server configuration. Just limit it to setting up the platform as a service. So engineers can just push containers to that platform.

I'd also consider serverless architecture.

Long story short, limit server configuration to bare minimum. And for that minimum I'd use terraform and ansible if needed (but kubernetes can be deployed just with terraform and cloudinit files imho).

citruspi 1 day ago 0 replies      
Chef. I've previously used Ansible and Saltstack. I haven't tried any others.

When I first started using Chef, it was for work and I wasn't a fan at all. But, it's grown on me to the extent that I replaced all my Ansible-maintained infrastructure with Chef and I now maintain my own personal Chef server.

It can definitely be overcomplicated in some scenarios, but I'm comfortable using it and and I feel of the tools I've tried, it allows me to be the most expressive. I'd much rather write a Ruby Chef recipe than a YAML Ansible playbook.

The fact that Chef's Management Console UI[0] is available for free (for small deployments) while Ansible Tower[1]'s pricing starts at $5000/yr also factors into my choice. It appears that Red Hat has plans to make a free, open source version of Tower[2] but there's nothing there yet. Looking online, it looks like Saltstack maintains a GUI management console of some sorts, but it's only available for Saltstack Enterprise.

[0]: https://docs.chef.io/manage.html

[1]: https://www.ansible.com/tower

[2]: https://www.ansible.com/open-tower

milesvp 1 day ago 1 reply      
Be weary of Chef if you plan on any kind of autoscaling. We had to deploy some pretty big hacks to get around some core assumptions in chef in order to use AWS autoscaling.

On the other had we did make autoscaling work with chef. Not sure how any of the others would fare since a relatively static server list was a pretty safe assumption until about 6 years ago.

tristram_shandy 1 day ago 0 replies      
SaltStack for configuration management, absolutely. We use it to manage our Linux servers, Macs, and the few Windows desktops that linger around the office. We also use it to bootstrap Kubernetes, audit configuration of some clusters, and provision dev machines.

Salt can also run agentless, and is much, much faster than Ansible, and has excellent support for both Docker and Kubernetes, which is a huge plus for us. Everything that can't be put in a Dockerfile gets run through Salt

Ask HN: How to move past 150k/200k in compensation?
90 points by yerunfa  2 days ago   60 comments top 20
whack 2 days ago 1 reply      
I know many people personally who make 200k+, with less than 10 years experience. Many of them are also immigrants. Some of the ways they got there:

- live in a tech hub with high demand for programmers. The best places are NYC/SF and probably Seattle

- switch companies every ~2 years, and negotiate for ~25% comp increases when you do. There are some tips that can help you achieve this, but it's a blog post in itself

- work for a lucrative brand-name employer like Google/FB. First, you'll make a ton of money there. Second, having them on your resume will boost your future prospects and compensation offers

- in order to accomplish the above, get really good at interviewing skills. Practice topcoder, cracking the coding interview, fundamental algorithms and data structures, communication and presentation skills, etc etc. Whatever it takes to ace the interviews, no matter how dumb you may think it is

- be good at your craft. Read expert books, work on your own small side projects, push yourself to build high quality code, and not just barely functional junk. Do everything you can to become an expert in your area

- be a great coworker. Leave a positive impression with your manager and colleagues. You don't have to be their friend, but you want to be someone they respect and would recommend to their friends

nostrademons 2 days ago 1 reply      
Most people who make > $200K in total comp receives the excess in either stock, bonuses, or percentages of a firm's profit. (There are some outliers, but even many C-level executives have salaries in that range and then millions in stock compensation.) Keep that in mind when you compare salaries with others - those Google engineers making $400K/year are usually making about $150-170K base, $50K bonus, and $200K+ in RSUs.

That also implies the way to break $200K: join a company whose stock is rising, perform well for them, and negotiate a generous equity grant.

richardknop 2 days ago 1 reply      
Go from employee to being a consultant. You can probably double that if you are good (possible to make 400-500k in a good year when you get a few good deals in a row). But there are limits to a one man company obviously so going beyond that is probably only possible by becoming a C level manager at a big company or CEO (so start your own company?) where millions in bonuses and stock compensations are normally part of compensation.
clean_send 2 days ago 1 reply      
Two things.

1. Learn soft skills. If we look at the modern business exec they do a few things very well. They can speak to large groups of people with conviction. They can make tough decisions. They can articulate their thoughts through a variety of mediums. These skills are learned. They come from practice and experience. One of the first things I would recommend you do is join an organization like toastmasters and learn the basics of public speaking.

2. Depending on your situation in life, take risk. Risk is what allows people to propel themselves into those 400k+ annual comp. A lot of these suggestions cite going into consulting, which is high billable if you're good. What they lack though is the necessity to win clients, build good relationships and grow your business. This is mitigation of risk + soft skills.

Relevant reading. https://www.theatlantic.com/magazine/archive/2014/11/crackin...

jwilliams 1 day ago 2 replies      
It's possible, but unusual, to earn over 200k as a base salary. Although it is more common at certain organizations (e.g. Google, Apple) and in roles like sales. As others have mentioned, often beyond that point you're in stock, bonuses and other incentives.

One reason is tax. After 200k almost half of what you earn is going in tax (Assuming US/California here). So going to 250k seems like a jump, but it's going to have a much less increment on your lifestyle.

So you may be better moving laterally/zig-zagging than continuing to optimize on the path you're on. Perhaps a smaller org that can still pay well, but gives you equity or leadership opportunities.

fundabulousrIII 1 day ago 0 replies      
Be a guy who can do within 2 hours of a request in a way that leaves everyone satisfied. That is hard: you have to be very good.To be very good you spend 4-10 years of your life doing nothing but writing code, administering systems and understanding what makes things work. You learn to love it and live it.

But 'the system' is set against > 200K in compensation. You get taxed to the point of regret and even in the zone of 'getting better' you eventually realize you can't keep it up.If you are a social butterfly and watch for opportunities maybe you can make it to 500K by killing your friends, but that is what it takes.

31reasons 2 days ago 1 reply      
- Quickest way to make more money is to reduce your expenses. See where you are wasting money and optimize for that. Work remotely for the same amount of compensation and move to a place that has very low cost of living/rent etc (even within US).

- Decide how much more you want to make? Is it purely a greed or do you really need that much money. You alway have to pay some cost to increase your income beyond certain point, it could be your time, safety, health. Calculate those factors in. Earning $50k more then if you end up spending that much on health would not be a good idea.

cm2012 2 days ago 3 replies      
Switching from salary to consulting pretty much tripled my income to past that range.
akavi 1 day ago 1 reply      
Work for Google and be promoted once.

SDE III (a promotion up from new grad) has typical total comp in the 210 - 240 k$/yr range.

Aron 2 days ago 1 reply      
You don't need to be a more productive widget, you need to own the share of output of an increasing number of productive widgets.
crmd 1 day ago 0 replies      
solution architect: an iteration of your current job, except in the front office (working with customers), and paying 1.5-3x your current salary.
SirLJ 2 days ago 0 replies      
Start your own thing, first as a side business and grow it from there... the sky is the limit aftear...
j45 2 days ago 0 replies      
Assuming you have 150k in compensation, your loaded value (the employer side contributions, benefits and taxes) may be another 20-25% bringing you closer to that number.

Consulting can bring you closer but you have to move up the food chain in the type of strategic consulting you do.

trelliscoded 2 days ago 0 replies      
Get an MBA and find a niche. Sometimes that means moving to a different company where supply and demand of a particular skill works in your favor, sometimes it means starting your own company.
cdiamand 2 days ago 0 replies      
There are industries (finance?) that provide bonuses to employees based on certain performance goals. Perhaps a situation like that could help you break through?
35bge57dtjku 2 days ago 0 replies      
You're seriously saying you really can't find any companies that need lead devs or managers?
manbearpigg 1 day ago 1 reply      
In what roles at which businesses are new grads earning 120k-130k?
gigatexal 2 days ago 1 reply      
Find some solid and trustworthy people you can work with and start a company and then pay yourself
corporateslave2 2 days ago 0 replies      
Any big tech company
companyhen 2 days ago 1 reply      
Find some passive income like investing in CryptoCurrency.
Ask HN: How can you trust non open source, third party email clients?
15 points by xeo84  2 days ago   17 comments top 6
nvr219 2 days ago 1 reply      
I don't use non-open-source, third party email clients.

For G Suite (personal) - I use gmail web client.

For Office 365 (work) - I use Outlook.

For my own mail server - I use Thunderbird or forward to gmail.

bradknowles 3 hours ago 0 replies      
How do I know you are a real person and not a figment of my imagination?

Can you prove that you exist?

gumby 2 days ago 1 reply      
How do you trust someone else to manage your mail service?

How do you trust every line of an open source package without auditing it yourself?

In your hierarchy of risk/trust, this one is pretty small.

quickthrower2 7 hours ago 0 replies      
Send / receive encrypted messages. Print out encrypted data. Type into computer you built yourself from individual transistors to do the decryption.
davelnewton 2 days ago 0 replies      
Is this rhetorical?

How can you trust any app that has access to your data?

GoToRO 1 day ago 0 replies      
The same way you trust your surgeon. How do you know he will make you better and not kill you in an elaborate way?
Ask HN: What tech stack to choose in my first stint as a freelance developer?
24 points by romanovtexas  2 days ago   18 comments top 12
jmcgough 2 days ago 1 reply      
Go with what you know can get the job done. It's fun to use new tech, but Java isn't going anywhere and it's very stable and performant at this point.

Your concerns should be the following:

1 - will this stack get the job done, and at a reasonable velocity

2 - will you lose time because you need to ramp up on a technology you're not familiar with

3 - how maintainable will this be for developers who come after you?

Spend time figuring out what you'll need to accomplish for this project, and then decide which framework will work best for it.

If you're still not sure what to go with, it can be really worthwhile to do a quick proof of concept that covers the areas you feel most uncertain about. I did this before choosing Elixir for a recent project, and it helped me feel a lot more confident in that choice.

Outside of your freelancing, I'd encourage you to spend time using new tools are frameworks. That way, you'll know the strengths and weaknesses of each before you need to pick one for a project.

hakanderyal 19 hours ago 0 replies      
When I'm looking for a new project, I analyse these 3 aspects: Client, Domain, Tech Stack. My experience taught me that, I can only handle one unknown aspect among these in a project, more becomes a problem sooner or later.

- If the project is for a new client that I have no connection beforehand, I only work on a problem domain that I'm familiar with, and I use a stack that I'm confident in.

- If the project is in a domain that I've no experience, but I know the client, I go with the tech stack than I know I can get the job done.

- If the project is for a client I know, and I have experience with the problem domain, I let myself to choose a new stack to learn if there is one that's suitable for the project.

I'm having great success with this strategy. Obviously these are just general guidelines, and the specifics of the projects can affect my decision, and common sense always applies.

Nysa 1 day ago 0 replies      
I'am assuming you are 'just' developing solutions.Your customers are only interested in a product - not tech side.

So, your goal should be: "How I can develop (and maintain) this product in the most efficient way?".

Step 1 : Get stable grounds

Pick a language that can solve most of common challenges that you will tackle.Make yourself proficient in it.You need to minimize time spent on thinking "how I can do it in X language?".(You've got Java/C# skillset so most of your web skills should be around here).

Step 2 : Optimize

You've got another web project? That's great!You just need to pick up template with all boilerplate (like: logging, monitoring, deployment, auth etc.) from last project and fill missing features.

Step 3: Extend

Now, you can finish most of your projects in seconds.It's time to find new clients. Search for new domain - like: mobile, embedded or machine learning.This time you can decide if your existing toolset is enough for new problems or rather, adding new one will be more beneficial to you. Like: You can do a lot of ML stuff in C# but Python is the place where all important stuff happens.


IaaS vs PaaS

Here is question for you:

Do you like to do more admin stuff for low cost hosting?

Or do you like to focus on coding and spent a bit more money and let cloud do most of admin work for you?

It's a your time vs money optimization.

Personally, for small (scale) project I'am running with IaaS - but I already have knowledge how to do it.For big ones - it's better to stick with PaaS - even very skilled DevOps can't single-handedly deal with big scale.

For you I would advise using PaaS since you don't have experience with neither PaaS nor IaaS.PaaS is a lot easier to learn and you can always migrate your code to IaaS as a Step 2 :)

Good luck and have fun.

aregsarkissian 1 day ago 2 replies      
As a longtime and current asp.net developer I use the Laravel php framework for client work and side projects. Modern php is very easy for a java or c# dev to pick up. Development speed and ease of deployment is what matters and Laravel is a mature batteries included rapid application development framework with a large community and ecosystem and even it's own hosting platform Laravel forge.
dabockster 1 day ago 0 replies      
Depends. If it's a new project, choose the oldest thing that's still widely supported. Often times, this will be something like straight Java or PHP. It's not trendy at all, but it will run under 99% of system configs out there. Also, be sure to document your work as much as possible and give that documentation to whomever you're turning your work over to.

If you're taking over another project, make sure the client has docs before you take it on. Otherwise, there's a good chance that you won't be able to deliver what they want. Best to avoid those customers initially (if you can).

rl3 2 days ago 0 replies      
Most of this depends on your project's requirements.

PaaS is much simpler for you as a developer, assuming your desired stack is supported. Caveat is it will likely cost your client more. Although, it may not if you account for billable hours saved by not having to deal with IaaS. Depends on the project's scale and resource usage. With a small scale project, PaaS may be a wash or even cost less.

Obviously it's good to expand your horizons learning new technologies. Doing so while under deadlines on someone else's dime, perhaps not as much. It's at least something to consider if there's very lax deadlines. How to bill it ethically is up to you and likely depends on a ton of factors.

Using modern frameworks in languages you already know does seem to be a good compromise. Your learning curve there should be drastically lower than learning an entirely new stack from scratch. This is probably the safest route, and if you choose it I'd suggest learning new stacks on your own time regardless.

zengid 1 day ago 0 replies      
If this is your first stint, you've got a lot riding on this reputation-wise. You need to hit every deadline you set, and it needs to work the first time. It would be best to use the most familiar (and yes, boring) stack you can possibly use [1]. The client does not care at all what is under the hood: they care about whether the product does what they want it to do.

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

richardknop 1 day ago 0 replies      
Learning new tech is good of course but I wouldn't overdo it. It is also important to have some specialization and skills that you focus on.

It also depends on your clients, they will most likely be making the call based on the tech they already are using in their current stack and their tech employees. So when they bring in a consultant they will want to keep in line with their in-house tech stack not to complicate future maintenance and hiring.

AlexAMEEE 1 day ago 0 replies      
In my opinion you should know Spring MVC ( or boot ) as a Java freelancer.

I'd also go with Spring because they have a huge market share and many projects require Spring knowledge.

By knowing Spring you are expanding the circle for possible clients.

Play/Dropwizard are nice frameworks but they don't bring you any value as a freelancer because nobody will require knowledge/experience in those frameworks.

ganeshkrishnan 2 days ago 1 reply      
I would highly recommend jhipster. We used that build our highly scalable website aihello.com

It builds the core of project using spring boot and also generates docker and kubernetes files.Entities are easy to create and the 'business glue' is auto generated.

It even integrates Kafka which allows us to plug-in machine learning framework via Apache spark

Overall very happy with the framework

fiftyacorn 1 day ago 0 replies      
Id check the rates offered and choose the one that pays the most
probinso 1 day ago 0 replies      
Happiness on F sharp
Ask HN: Any good resources for creating a blockchain?
6 points by jklein11  1 day ago   7 comments top 4
neboysa 1 day ago 0 replies      
Check out hyperledger.org - Fabric (a blockchain implementation) and Composer (tool to build apps/network on top of Fabric). Docs are pretty good, and there are no built-in currencies, coins, tradings and similar crap. And it is relatively easy to have it up and running locally and to deploy custom code on it (it is Go)
PaulHoule 1 day ago 1 reply      
One option would be to work with Ethereum. You can boot up your own instance of it and write your own applications that run in it.
dozzie 1 day ago 1 reply      
Start with a tutorial for cryptography. If you are dilettante in cryptographyin general, whatever you do with blockchain will be broken by design.
Ask HN: Is removing as many LOC as possible really that big of a priority?
4 points by ng-user  1 day ago   10 comments top 10
seanwilson 1 hour ago 0 replies      
Yes, as long as it isn't sacrificing readability. Every line of code is another you have to maintain going forward as you make changes and every line can potentially contain bugs.
psyc 1 day ago 0 replies      
Removing LOC as a result of better conceptualization/design and better factoring is completely different than reducing legibility by, say, mashing lines together. In general, other things being equal, my late drafts are usually less verbose than early drafts, and also reflect a deeper understanding of the problem.

So, I think better design is the goal, and fewer LOC is a natural side effect. I personally find that essential for evolving a large project. Some managers are ok with ever-increasing tech debt, which I associate with increasing job dissatisfaction.

w4tson 14 hours ago 0 replies      
Incentivizing anything can lead to unwanted consequences. Even virtuous things such as reducing code.

This for me is a bad idea. I always have it in the back of my mind about reducing a modules footprint but as someone else mentioned on here. There's an art to it. Sometimes it's a bodge, followed by another fix in another part of the code base a month later which then frees you to delete.

Quite often it's like that actually. Patience is key.

I'd also like to add +1 for duplicating code. I see lot of devs just unwilling to dupe code at the cost of readability and speed of development.

Perhaps that code could be refactored down the line or more often the act of making it "neat" gives up 1 or more niceties that made you write it like that in the first place.

twobyfour 1 day ago 0 replies      
Most of the comments so far are on point. I just want to add that the reasoning behind preferring less code over more is that every line of code you don't have is a line of code you don't have to maintain. It's a heuristic you can use to remind yourself to ask whether you really need that extra feature or to handle every one of that set of corner cases individually. It's also a reminder to yourself that retiring and stripping out older seldom-used features is usually a good thing.
akulbe 1 day ago 0 replies      
Here's what I've always heard:

make it work

make it right

make it fast

Getting to the point where you can remove LOC takes mastery.

hluska 1 day ago 0 replies      
I always tell developers I work with to primarily optimize for readability. Assume that someone less intelligent and skilled than you will have to maintain the code five years after you have left.

Sometimes, the most readable solution is quite long. Other times, it's short and compact. But, if it's always readable, chances are high that it is not only well designed, but it will be easy to maintain.

smt88 1 day ago 0 replies      
> usually (unless it's terribly written) removing lines by condensing things down only leads to harder legibility

You're right, but that's not always true. In any sufficiently large project, there are thousands of LoC that can be removed by changing libraries, writing DRYer code, etc.

However, turning it into a competition probably isn't going to stay within the lines of "good" lowering of LoC.

And, in some cases, increasing LoC can make the code better. For example, breaking up a huge method into several, well-named methods will slightly increase LoC, but also increase readability.

bjourne 16 hours ago 0 replies      
Yes. Simplifying complicated code is THAT BIG of a priority.
eberkund 1 day ago 0 replies      
Well one instance I can think of is removing functionality in favor of libraries or higher level languages. That can usually cut down on complexity in the codebase significantly.
AnimalMuppet 1 day ago 0 replies      
As many as you can? No.

LZW compression tries to remove as many bytes as possible from text, but it does not help readability. I know, you wouldn't LZW compress the source and then try to compile it. You can move in that direction, though, if you try to shorten the source too much.

Remove needless duplication. Remove lines where it improves clarity or structure. Absolute shortest source code is not a worthwhile goal.

Ask HN: Best team password manager?
2 points by simonebrunozzi  9 hours ago   2 comments top 2
bradknowles 3 hours ago 0 replies      
The thing I like about 1Password is that it integrates with all the major browsers, but it doesn't require a browser to work. And the app on iOS is full-featured.

I don't know if they support Linux, however.

eberkund 9 hours ago 0 replies      
I use 1Pass, you can have multiple vaults with different permissions and sharing for each one. I also like the native clients for each platform.
Ask HN: Does survival bias in self-taught/bootcamp developer stories matter?
3 points by thomascountz  1 day ago   3 comments top
jwilliams 15 hours ago 1 reply      
It's less likely a traditional "survival bias" scenario because effort matters. I'm sure participants who commit the strongest get the best outcomes (and a more likely to write about it).
Ask HN: What could grassroots politics learn from startups?
7 points by kuro-kuris  1 day ago   5 comments top 5
tixocloud 1 day ago 0 replies      
While I have little political experience, I do have experience developing grassroots volunteer organizations and I can say that it's all about people and communication. Technology is more of a means to an end but what's helped is dialogue with people to share our vision. We've tried introducing new technology before but people just hated it. Why? Because it becomes impersonal and the message gets lost. After all, the medium is the message as Marshall McLuhan would say.

I'd be happy to learn more about what you're working on and see if there's more specific advice I can give.

veddox 1 day ago 0 replies      
This is not explicitly tech-oriented, but I am reading a very interesting book at the moment that seems highly relevant to what you describe:

"How Organizations Develop Activists: Civic Associations and Leadership in the 21st Century", Hahrie Han

The book is a write-up of a sociological study in which the author accompanied various local groups of two large activist organizations in the USA. Her aim was to find out what differentiated high-achieving groups from low achievers, measured by the number of people they were able to mobilize and keep engaged.

Though she is not concerned with technology per se, she does talk quite a bit about its potential in activism, as well as the pitfalls of an overreliance on it.

I haven't finished reading the whole book yet, but it is certainly thought-provoking and if you are trying to get people involved in a civic group of any kind, I strongly recommend it.

auganov 1 day ago 0 replies      
Worse is better - too much nuisance and nobody's gonna care.

Rapid iteration - throw ideas out there, see what sticks. Also, you can perpetually broadcast different, even slightly conflicting takes on the same general idea. Very powerful when combined with targeted advertising.

tmaly 1 day ago 0 replies      
On the campaign side, I think people running should have primed the SEO pipeline with a blog well before deciding to run. Get their ideas out there, maybe even do a podcast.
AnkleInsurance 1 day ago 0 replies      
I think discovery is a big problem with small Parties but I'm not an expert.

For example, I only learned there was such a thing as the pirate party last year! I wish I had known so much sooner.

On the other hand, I lack the personal insecurity to just browse around looking for ways to label myself, I'd rather find groups by causes.

"party for people who pirate music" would suit me just fine.

"party for people who start indices at 1 where they belong"

"party for people who think significant white space is gross"

"party for people against semicolons"

"party for people who actually use their turn signal"

Maybe a service that psychoanalyzes you and shows you which groups' members are most similar to you?

Ask HN: Best marketplace for passive income businesses?
86 points by sharemywin  2 days ago   47 comments top 15
ThomasSmale 2 days ago 2 replies      
I'm founder of FE International (mentioned quite a few times in this thread already). We've done over $100m deals in the online space and have won various awards (e.g. for my business partner, Ismael: https://www.ibba.org/press-releases/2016-ibba-member-excelle...)

When searching for a business to buy, make sure you do your due diligence. There's a lot of junk out there and many "brokers" just make up their numbers/claimed legitimacy to win business. Once you've got past that, you then need to do due diligence on the business itself.

Passive businesses are not impossible to find, but it does depend on your definition. You can't buy any business and do absolutely nothing (truly "passive"). Even something low maintenance will require 1 hour a week, especially if you want it to last for years. Expect to pay a premium for businesses like this but be very cautious around claims from a seller. Number of hours worked is the easiest to misrepresent (and the hardest to prove). Almost every seller claims to work "2 hours a day" but IRL I've never met a business owner who works less than 10 a day :)

To answer your question directly, don't just look at marketplaces, check out brokers and advisors too. If you're upfront with what you're looking for and budget, most will send you options that are a good fit.

Good luck with your search!

tbrooks 2 days ago 1 reply      
FE International is known to broker a lot of SaaS company sales. I haven't sold/bought a business with them, but I have friends that have.

It's not a marketplace per se, but it might be what you're looking for.

[1] https://feinternational.com

itnAAnti 2 days ago 2 replies      
Flippa is decent, but there is a lot of garbage to wade through to find anything real. Empire Flippers is a little better, they vet the sites some before posting them. Bizbuysell.com is mainly focused on brick and mortar businesses, but there are some online businesses for sale there as well.

Having said that, finding a true "passive income" business that is profitable and someone wants to sell is challenging. Most of them (that I have found) end up being scams. Do your due diligence and scrutinize their income and expense reports, traffic figures, etc. I can usually "smell" when something isn't right.

pw 2 days ago 1 reply      
I've heard really good things about FE International, and, since they're a true broker, everything they sell seems to be super legit. I've also had some contact with them when I was thinking about selling some of my sites, and I was impressed.

The fact that they're a true broker, though, means it's not worth their time to sell sites with lower earnings, so I haven't seen anything much below $2k/month in revenue.

Also, from talking to them, it sounds like they have a network of buyers that they can privately pitch your site to if you're looking to sell quickly and are willing to take a slightly lower multiple of earnings (in exchange for a quicker, easier selling process, it seems).

brandfountain 2 days ago 1 reply      
Careful what you wish for, 'passive income' can take on a life of its own.

I jumped into the branded domain aftermarket thinking it is the perfect passive income business to support my primary project. After a building a retail site and acquiring a bunch of quality domains the sales trickled in. So did the inquiries and customer support tickets. As sales increased so did the demand on my time. Now I have to choose between a fledgling/growing passive side business or (more likely) flip it and focus on my main biz.

The lesson is its hard to serve two masters, no matter how easy the math looks. Unless your Elon Musk.

freshfey 2 days ago 1 reply      
Not sure if you're looking for a marketplace to buy or launch a business, but I'd say the Atlassian store might be an interesting one.

A lot of (business) users who are willing to spend money. A lot of ratings/reviews you can improve on to make a better product and a big ecosystem.

jefflombardjr 1 day ago 0 replies      
NYSE. Seriously. If you want to buy and be a completely passive owner, buy stocks. You'll at least be able to minimize risk.

Buying and growing a business can be just as hard as starting one. If you want to own a business, you have to be able to sell/market their product. If you can't sell to one or two people to start a business, what makes you think selling to 100s in an established business is a good idea?

If you already have a stock portfolio and need to diversify. Look to real estate. Even then it's not completely passive, but hey you can at least hire a management company.

If you still want to passively own a business, specifically a web business. Take the $3,000 or whatever you want to use to buy a site and instead launch your own site. Spend the money on ads to drive traffic to your site and learn the valuable lesson that you can't just buy your way to success...

CryoLogic 2 days ago 1 reply      
I sold passive income sites in the $300-$600/mo range on both Flippa and BuySellWebsites (not sure if it's still around).

I would not suggest either due to the # of scams.

Really it doesn't take more than a year to make a website profitable. 2-3 to get it into hundreds or thousands. Do your keyword research with adwords to determine avg. cpm, or if you are selling products build out a social media following.

throwaway2016a 2 days ago 1 reply      
This question is a bit too vague. I'm not sure how it got 17 up votes. I would only up vote it if it was more clear.

We need to know the motivations in order to be able to answer.

Are you looking to buy a turn key passive income business?

Are you looking to sell?

If you are looking to sell what are your skills?

Can you, for example, write a Wordpress theme or would you do you want to sell physical goods using a drop shipper?

If you update the questions I'm sure some people will be able to help.

FatAmericanDev 2 days ago 0 replies      
Not sure about the best but one is Flippa.
probinso 1 day ago 0 replies      
I think that if you were to lease out teleportation devices you would be pretty well-off
leandot 1 day ago 1 reply      
Places like IndieHackers and forums. I guess HN is also not a bad place to ask.

E.g. I have a passive income business that I could sell given an interesting offer.

moflome 2 days ago 1 reply      
Wanna buy one of mine? Thinking of positioning for sale a Business SaaS app, a Sales/Marketing Automation app and a transportation related app. Keeping the one that's earning the most... sorry.
nickthemagicman 2 days ago 6 replies      
Why would someone sell a passive income business? By definition it's basically free money.
decentralised 1 day ago 2 replies      
Invest in tokens and ETH, BTC, BCC etc.
Ask HN: Modernize the posting and viewing experience of HN?
3 points by bfung  1 day ago   2 comments top 2
shervinafshar 1 day ago 0 replies      
I don't think that there is anything non-modern about posting and viewing experience on HN. My personal opinion is that the UX doesn't have all the bells and whistles that you might see on other websites and that is a good thing which invites people to focus on few important things.

But your comment doesn't substantiate what isn't modern about HN UX; anything other than lack of an advanced editor with live preview?

warrenm 1 day ago 0 replies      
HN is intentionally devoid of most formatting

Which has its pros and cons

Ask HN: What is the best resource out there keeping track of great tools?
5 points by hvass  1 day ago   1 comment top
ifcologne 1 day ago 0 replies      
Not for all problems but for some technical ones I use lovely curated awesome lists.

https://github.com/sindresorhus/awesome is a good starting point.

Ask HN: How do I know if I'm joining a good team?
8 points by throwaway17824  2 days ago   2 comments top 2
probinso 1 day ago 0 replies      
Understand the business model, understand the release cycle, understand the review process
AbenezerMamo 2 days ago 0 replies      
Consider the environment & culture for the company
Process for a Person on H1B to Startup
2 points by user-on1  1 day ago   6 comments top 4
user-on1 9 hours ago 0 replies      
Yes all of you are correct, but a larger issue is at the least there needs to be some working process in place. Ones we know that a working process is in place, then we can look into it and see how to take next steps however complicated they may be. I see here there are questions about few steps but you think the overall steps make any sense or no?
subrat_rout 22 hours ago 0 replies      
You forgot the biggest point to factor in. That is "time". Assuming you are lucky in every steps from 1 through 11 and each steps take few months that is few years. And for a product to be successful add few more. Not sure what is timeline for startup visa but if you are applying for green card based on H1b and you are from country such as India or China then add +5 or +8-10 years to your timeline. On becoming permanent resident you have to wait for another 5 years to apply for US citizenship. However you do not need to be US citizen to start a company. You can do that when you are a permanent resident.
bsvalley 22 hours ago 0 replies      
Step 7 will be the toughest. If you appear on the list of founders with %49 ownership (= biggest shareholder without being involved in the company), then it'll be a No-Go for most of the VC's out there. The team is the main factor when investing in a startup. You should aim for %0 at first. Then when the company hires you, you'll get some shares back. They could even hire you as the CEO on H1B if the investors are OK with that.
throwawayeb2 1 day ago 2 replies      
How does 13. lead to 14.? What is the birth country of the person? Remember there is 10-15 year wait for people born in India ( few years shorter if you are born in china) to obtain a Green Card in EB2 and EB3 category.

Depending on various factors the time between 13. and 14. could very well be between 3 to 20 years (15 years to obtain GC and 5 years after that to obtain citizenship).

What amount of options should I expect when joining a startup?
4 points by msaun008  1 day ago   4 comments top
toocool 12 hours ago 1 reply      
Always use percentages with respect of the fully diluted number of stocks (preferred + common), absolute numbers are worthless. In my current company:

- I joined as a senior software engineer among the first 3 employees (seed round) and got 1.8%. Junior engineers got ~0.5%

- At series A (30 employees), senior engineers got ~0.5% and junior ~0.1%

- At series B (70 employees), senior engineers got ~0.2% and junior ~0.05%

- At series C (100 employees), senior got ~0.1% and junior ~0.01%

Ask HN: What knowledge do I need to get real time system/low latency related job?
7 points by aksaquest  1 day ago   3 comments top 3
jwilliams 16 hours ago 0 replies      
When I think real-time I think embedded programming. In particular, formal methods and scheduling. This is an understood canon of work, so there are lots of good textbooks, courses, etc in the area.

When I think latency I think really fast. The nice thing about that domain is that each piece is quite important. Even just getting the data from Reddit in a timely/efficient/optimized manner is an interesting puzzle in its own right. Personally, I'd focus on those components, work out what makes them really fly, write some interesting stuff.

ddorian43 1 day ago 0 replies      
Rts is different (airplanes,missiles etc). How about finding jobs in stackoverflow, see their requirements and do them ? Example: http://www.scylladb.com/career-post/software-developer/
jacquesm 1 day ago 0 replies      
Erlang, QnX, RTOS would be good starting points.

Note the differences between 'soft real time' and 'hard real time'.

Embedded controllers are another fruitful avenue of research, as are systems that are hybrids, for instance very tight control loops in FPGA driven by conventional processors.

Ask HN: Does this exist?
3 points by nkkollaw  1 day ago   6 comments top 4
johntdaly 1 day ago 1 reply      
The biggest problem I see is language recognition. Dialects where once a major problem and I can imagine having a heavy accent will be a problem here too. Another problem would be grammar. You are not just learning vocabulary you are also learning a new grammar and will make mistakes. Maybe this can be corrected by knowing what the original language of the learner is.

I like the idea. But this is a hard problem and I doubt there exists a functioning version of this.

applecrazy 1 day ago 0 replies      
This might be the closest thing:


If they had an API (which, they do not), somebody could build a TTS + voice recognition wrapper for this functionality, creating the experience you mentioned.

skdjksjdksjdk 1 day ago 0 replies      
Even if it exists, since you don't know a dominant brand in this space, effectively, the market is wide open for you, if you come with a superior technology
observation 1 day ago 1 reply      
I like your idea. Like John I doubt such a thing exists.
Ask HN: Feedback on free payment gateway using a Chrome extension
2 points by l5870uoo9y  1 day ago   11 comments top 5
tixocloud 1 day ago 1 reply      
While the idea of a free payment gateway might be enticing for businesses, you or the businesses you serve need to provide something equally enticing for the users to go through the hoops of installing a Chrome extension. You'll need to figure out what the value is for the users - could it be lower prices? And if so, will the price be low enough for them to use this new method of payment? There are also other psychologies at play such as trust of the system, gaming the system, etc. that you will need to think it through.

Not saying it's not a good idea but there's a lot more to think about when it comes to payments.

auganov 1 day ago 1 reply      
Problems off the top of my head:1) standard bank transfers often aren't instantaneous (idk about Germany)2) no support for handling disputes etc.3) banks can simply try to block you if it ever gets traction4) a lot of friction, no mobile support5) it's hardly that much better than just having people do the transfer manually6) you'll have to integrate across many banks UIs

Can you even verify if the transfer really happened based on this csv info?

afarrell 1 day ago 1 reply      
My intuition would be that the cost of lost customers who aren't willing to

1) Install a new Chrome extension they've never heard of

2) navigate through their bank's website

Will be the much higher than payment processing fees.

Also, it sounds like you are storing bank account numbers on your machine.

nautical 1 day ago 1 reply      
I would really love to know what others think on this ..

Can work if buyers are incentivized in some way to do this (too much friction).

"Free payment gateway" is enough for a lot of businesses to get started.

stephenr 1 day ago 1 reply      
Intercepting data from a banking site? Sure that doesn't sound fucking dodgy at all.
Torrench Cross-platform Command line Torrent search program
7 points by kryptxy  2 days ago   3 comments top 2
assafmo 1 day ago 1 reply      
Cool, I'm going to try this next week and then I'll give feedback.

Right now I have a script to searche eztv for tv shows but it is very limited (assafmo/DownloadMyEpisodes)

kryptxy 2 days ago 0 replies      
       cached 27 August 2017 04:05:01 GMT