hacker news with inline top comments    .. more ..    31 May 2016 Ask
home   ask   best   3 years ago   
Ask HN: How many of you gave up working as a professional coder?
57 points by sillysaurus3  8 hours ago   11 comments top 6
kd5bjo 4 hours ago 3 replies      
Earlier this year, I left my job at Facebook to play tennis all the time. When I'm not doing that, I'm either playing video games or pretending to make furniture.

Only time will tell whether this is a sabbatical or a career change.

King-Aaron 27 minutes ago 1 reply      
My current post may well be my last; I'm sick and tired of continuously working for SME's with no direction, business plan or competent management. If I lived somewhere that there was more opportunities I may feel differently.
jonsterling 2 hours ago 0 replies      
My last day is in just over two weeks! Starting my PhD in type theory at CMU.
glenr 4 hours ago 0 replies      
I did. Started in '99; started an agency in '04 where I was the lead coder with 2 partners; by 2010 I was dabbling at best. Another six years on, I don't code at all and do sales/management. I'm not sure I'd do it the same should I have my time again, I miss it.
adamkchew 1 hour ago 1 reply      
After getting the 6 figures programming job, I realized that I was already decent so I quit and started a startup. Now I'm just reading books, riding bikes, and networking.
nickthemagicman 5 hours ago 0 replies      
Good question. Im wondering this as well.
Ask HN: Does anyone here use OS X as a webserver?
21 points by rohanprabhu  7 hours ago   21 comments top 15
pyrophane 6 hours ago 1 reply      
I doubt you will fine anyone who does this today for reasons other than a needing to support legacy software that only runs on OS X for some reason.

All modern web application stacks run as well on Linux as they would on OS X, if not better, so there is no advantage to running OS X and lots of downsides.

You need to run OS X on Apple hardware, and they haven't made a blade server for several years, so you'd be stuck with either the mini or the Mac Pro, either of which is going to be expensive for the computing resources you get. You also can't fit them neatly into an enclosure.

Also, if you ever wanted to move your infrastructure to the cloud you'd need to move to Linux anyway.

I can think of no valid reason to use OS X server to host any kind of web app.

detaro 6 hours ago 1 reply      
There is an image CDN (EDIT: imgix, as tristanj linked below) which runs OS X for their image processing servers and I've seen pictures of rack holders for Mac Minis for build servers, but in general OS X isn't a very interesting choice.

Running it on non-Apple hardware is legally questionable at best (the EULA forbids it, if this part of the EULA is applicable in your country is a question for a lawyer), Apple doesn't do server hardware anymore, it costs money and you don't get support or special software from Apple for server-usage for it, and since nearly nobody runs it as a server OS it probably isn't very high on the priority list to support that usage for other software vendors or open-source project.

A lot of things probably will work well since they are made to run for developer usage, but if you do not absolutely need integration with something apple-specific or just want to reuse an old mac lying around for a hobby project it doesn't give you anything over other OSes as a normal web server.

tristanj 6 hours ago 0 replies      
Not me personally, but Imgix uses Mac Pros in their datacenter for graphics related work.


And not directly what you asked, but a thread that comes to mind is this one, where an unnamed company (presumably Mathworks) built a rack of Macbook Pros for testing purposes.


spriggan3 3 hours ago 1 reply      
The only reason why I would personally do that is to run some continuous integration for OSX software. Otherwise I can't think of any reason why one would run a OSX server,which implies owning a Macintosh. Some legacy frameworks like web objects might run better on OSX. At a previous job, we used a server on a mac mini that ran a proprietary software which did 3GP video encoding with DRM. We had to buy a mac mini for that single purpose (+ the cost of the software license).
xchaotic 6 hours ago 0 replies      
Serving HTTP requests has been commoditised, there is a hundred cheaper, better, ways to serve a webpage.The only sensible case is non-mission critical SOHO scenario where you happen to have a mac mini or iMac idling around and gathering dust otherwise.
NathanKP 49 minutes ago 0 replies      
The only webservice I've run on OSX was a Jenkins webserver to provide an HTTP dashboard for an automated ios app build system running on the same machine. And it was not a pleasant experience at all. I do not recommend using OSX as a webserver unless you absolutely have to (for example to run Xcode builds).
silverlight 6 hours ago 0 replies      
I would think the main barrier to doing this is the tie-in between the hardware and software. Mac hardware doesn't even really have a "large server" piece. And certainly if they did it wouldn't be very cheap compared to a Linux box. Since basically any software you would run on OSX to run a server you would presumably be able to run on Linux as well (e.g. nginx, etc.), I don't know what the advantage would be.
scosman 6 hours ago 0 replies      
A few of the continuous integration companies that support iOS/Mac development run fleets of Macs. If you need info, talk to the folks at bitrise.io or CircleCI
spottedquoll 6 hours ago 0 replies      

An entire colocation facility that runs Mac minis. It looks fun.

dsl 5 hours ago 0 replies      
I ran part of a website on OS X. We needed to generate screen captures of URLs back before lots of tools existed to solve that problem, so we had a Mac Mini generating captures and thumbnails. For a very long time they were all generated, stored locally, and served by Apache. Recently (after I stopped working on the project) serving was migrated to S3, I believe just due to disk space issues.
wittedhaddock 6 hours ago 0 replies      
We do, but not at the millions of users level. We use it to run a swift proxy server.

We have no interest in scaling on OSX and plan to port to linux. It's an interim type of thing.

kcrwfrd 5 hours ago 0 replies      
If you use it, don't install their Server.app unless you specifically need something it does. It takes over port 443 and others forcing you to do things in their way behind their global proxy.
zaphoyd 6 hours ago 0 replies      
Ten years ago when Xserves were a thing we ran web servers on OS X, but primarily because we needed OS X for some other server software and it was cheaper to also run a web server on those boxes than stand up a Linux box.

We've since abandoned this practice as there is no Apple hardware suitable for it. We still run some Mac mini servers for things that do not run on any other OS, but definitely not web sites/apps.

sam_goody 6 hours ago 1 reply      
Edit: Offtopic but interesting.

I definitely don't have millions of users, but there are hosting companies that do mac only. You can ask them if they have large clients.

(My needs are a node.js based site on virtualmacosx.

I had written something locally on Mac, and it depended on things that OSX did different than Linux, and decided I didn't have the time or inclination to fix it, so went with VMOSX.)

baconhigh 6 hours ago 0 replies      
used to have a few Xserves when they were a thing, never a million users though.
Ask HN: Why database as a service didn't succeed?
7 points by twa927  6 hours ago   8 comments top 5
ronreiter 5 hours ago 1 reply      
Amazon's DynamoDB is widely adopted. Google's datastore is widely adopted. And Google just added a generic interface to BigTable. And there's also Google's Firebase.

Database as a service works just like any other managed service today.

smt88 5 hours ago 0 replies      
I like RDS because I get control over the app-specific things (structure, indexes, etc.) and don't worry as much about general DB issues (backups, slaves, I/O performance, etc.)

That's really only possible if the DBaaS is a "thin wrapper" as you describe.

But, other than that, I think ronreiter is right -- there are DBaaS that have big user bases.

cjlarose 5 hours ago 0 replies      
FWIW, if you configure AWS RDS for Multi-AZ support, you essentially get a black box "cloud database" with synchronous replication and automatic failover. You're right, though, in that you're still essentially being allocated a fixed-sized single-node deployment of your favorite RDBMS.

I think the "obvious solution" is just not super easy to implement. If you want ACID compliance as with traditional RDBMSs but in a auto-scaling, distributed setting, it's not going to happen. Early RDMSs were built with a single node in mind, and any database-as-a-service will have to make some compromises. DynamoDB gives you the flexibility of not having to worry about scaling, and even offer strongly consistent reads, but without support for transactions, for example.

jbergens 4 hours ago 0 replies      
Depends on what you mean. There are databases that are mostly handled by the hosting firm. MS Azure can be used in failover mode and you can scale up to more powerfull "servers" without taking the application down. Sql databases are normally hard to scale-out over many servers and often require some rewriting of the application to do scale-out.

IBM Cloudant can scale-out to many servers that are all handled by IBM. I'm sure a lot of other cloud based documentdatabases can do this too.

Regarding why it hasn't become really popular yet organizations are generally very slow to change their data storage solutions. Changing to nosql from a relational database also requires a large rewrite of the system and it is not only upsides of going in this direction (some says that it is almost only downsides). It is for exmaple usually harder to get acid guarantees from a distributed db and it may be harder to create (secondary) indices.

nostrademons 5 hours ago 0 replies      
Most of the MBaaS market is basically database-as-a-service.
Ask HN: How to improve technical writing skills?
5 points by CiPHPerCoder  6 hours ago   discuss
Ask HN: Does Bitcoin solve the micropayment problem?
4 points by Capira  5 hours ago   2 comments top
struct 5 hours ago 1 reply      
It seems hard to do it directly, but I've been analysing [1] for an upcoming project, and they do some clever tricks to amortize the cost. If you get to try it out, let me know what you think!

[1] http://dev.blockcypher.com/#microtransaction-api

Ask HN: What do you think about the current education system?
31 points by alejandrohacks  1 day ago   26 comments top 14
andrei_says_ 19 hours ago 2 replies      
Trying to make kids memorize a bunch of stuff that's unimportant to them is incredibly inefficient and the information fades fast.

Having them do this at the expense of play (accelerated self-guided learning through social simulation, art and sports), at the expense of physical activity and in an insanely toxic social environment, is plain crazy.

Apprenticeship, where one learns what they need to learn when they need to apply it, and then uses the newly learned skills to achieve own goals beats that hand down. Look up Tobi from shopify and his posts about his learning to write software in Germany's apprenticeship programs.

Convincing kids that they are smart or stupid based on their teacher's opinion on the kids' obedience and ability to regurgitate uninteresting (to them) data is harmful at best. Convincing them that what they are experiencing in school is learning is even more harmful.

Schools are great at efficiently enacting a plan that has little to do with children's needs and little to do with learning.

Like a close friend who attended an elite private school with tiny classes and a lot of self-elected subjects, time allocation and projects said, "when I went to college I thought I was surrounded by idiots. Later I realized these were kids who didn't get a chance to learn good writing, or public speaking, or to plan, schedule and execute on their own nprojects, or to navigate bureaucracy."

I'd say same goes for other important life skills, like financial planning, media preparedness (understanding propaganda and advertising), job hunting, entrepreneurship, art, etc.

matt_o 21 hours ago 0 replies      
I think it's bad, mainly because it was built at the end of the 19th century and since then it's calcified. It's like having legacy code and instead of refactoring it when you need to make changes, you build more stuff on that, get more technical debt.

To add some context to what I mean, the current system is largely based on the decisions of the Committee of Ten[1]. If you read that short note, you'll notice that it's pretty much applying the lessons of industrialization to education ie. assembly line approach.

The example of the assembly line approach is especially relevant for me because I don't think that it is applicable to humans. Different humans learn at different rates so it doesn't make sense to group them by age. Additionally, teaching everyone the same things, while making things nice and uniform, takes away the biggest motivation for learning - curiosity.

This is completely anecdotal, but the further away I moved from this assembly line education system (from high school to college, from college to self-taught developer) the better grades I got (college) or more money (work) and the more time I spent learning, even things that are unrelated to my main focus because the world is fascinating.

As for an idea on how to fix this, I admit that I don't have a concrete one. I've skimmed the topic and the thing that drew my attention most is the Montessori system[2] system of education. It proposes a few points relevant to what I wrote in the previous paragraph, but also one that I find particularly interesting to developers: "Uninterrupted blocks of work time, ideally three hours".

[1]: https://en.wikipedia.org/wiki/Committee_of_Ten[2]: https://en.wikipedia.org/wiki/Montessori_education

Kinnard 1 day ago 0 replies      
I'm in no way an expert, but I've pretty much seen the gamut: private preschool, public elementary school, charter middle school, inner-city public middle-school, elite private boarding school, magnet public high-school . . .I think the public education system is a travesty, but I know it also doesn't make sense to talk about "the system" as if there's anything approaching uniformity. Detroit Public Schools and Bloomfield Hills public schools are worlds apart.

And even still, today's education system might be the best there's ever been . . . most people learn how to read . . .

This doesn't address higher-education, which is a whole 'nother shit-show . . .

jvvlimme 20 hours ago 1 reply      
There is very little good about the current education system:

1/ Dividing kids in age based groups is very poor. They only learn negative behaviour from each other. Skill based would be more interesting as the younger kids would learn from the older students and the older ones learn some responsibility towards the older students

2/ Scientific research has proven teacher based education to be sub-optimal. You take away the inquisitive nature of the kids. They will take what the adult says as true and fail to look for different ways to reach the same goal.

3/ School just isn't fun. Information is pumped into children which they forget once it has been tested. Let them discover things in a playful way and they will remember it much longer.

4/ Exams really only test how well one can game exams and tests, not how well one understood the matter. Test should be used as a personal measure to check if you understood everything and if you are ready to move on to more complex issues, not as a benchmark compared to others.

And so much more.

oxplot 15 hours ago 0 replies      
I think the current education system is inefficient at best. It also fails to expose kids to variety of skills/professions out there enough, so they can get a taste of what it's like to be this or that. Most kids don't know what they want to do even after starting college because all they've dealt with has been subjects that taught them the tools (e.g. mathematics, language) without giving them context.

Further to that, instead of focusing on minimalism and utility, each subjects goes to depths far beyond of what most kids need to know to make use of. Lo and behold, they're going to forget majority of it in a month. And some subjects have gone completely off the rails, like English, with the main focus on past literature. That's not what natural languages are most used for. Arguments, public speaking, legal, journalism, marketing. These matter day in day out, not what Shakespeare spewed while he was high on an Autumn afternoon. That's fine too but let the kids do it on their own time and focus the efforts in equipping them with critical thinking, etc for when they enter the wild!

mathpepe 18 hours ago 0 replies      
Very simple, the problem is not education but the true purpose of it. If education is a mean to earn more money, or the best way to get to the top and it doesn't matter how to get it, then learning only teach you what to avoid and how to simulate being a person.

Education is about making up what is important for us as a society. If we are to allow million of people to starve and get convince that what we see is just a natural state of affairs, then we have defined education as a system not about us as a society but about you as an individual. Society must speaks out with their pockets: If you are paying low wages to scientist, teachers and doctors, you are educating people about what to do with their lives. Forget about the shiny words, education is a lot about economic, incentives and giving people a decent life. Education can't be build without a framework and a clear purpose. Today all of us know what is the purpose of education: save yourself, stay alive, survive. The rest is just a hollow mud of words, deceitful, vain group of vacuous words.

In this forum virtual reality can be turned into a platform for education. We can use virtual reality to replace opium and get people sideway of our way, that is convert into passive, sleeping minds.

But otherwise, we could transform virtual reality into a platform for action, were people are actively engaged into learning and helping others to create and promote knew ways of learning and discovering what is being a human being in the 21th century.

We all want feedback, learning is about communication for action not for self-oppression. I am for an education for action. Now, go, ruin the idea, sell the product, crook the intention, ban the action and feed the vultures and continue educating for succeed.

bxh 21 hours ago 1 reply      
I find the use of examinations and tests to assess the "quality" of the student non-ideal.

It's very possible to perform very well on tests with minimal actual comprehension of the material through memorization. In fact, it's quite possibly easier to memorize solutions than to actually learn to solve them.

exolymph 21 hours ago 0 replies      
I went to a Waldorf school up through eighth grade, and it was wonderful. Then I went to a run-of-the-mill private high school, and it was hell.
yompers888 20 hours ago 1 reply      
I think we probably need to pay teachers significantly more if we want to improve things, at least until we understand education sufficiently well to be able to train anyone to do the job.

Back in the early 1900s, and even through a significant part of the century, teaching was nearly the only place for graduates of top women's colleges, at least until they got married. Upwards of 90% of employed graduates of these schools were teaching. Whether that was a matter of it being the most respectable or the most lucrative thing for women to be doing, the fact is that it had a pretty great talent pool to work with. By the 1980s/90s, when you looked at the top 10% of women in terms of academics, only about 10% of them had any interest in teaching as a profession [1].

Now, both the money and the respect are lacking. The perception is that any idiot can become a teacher as long as they can make it through their four years of college. Some people will be quick to say that you can't teach for the money. While that's certainly the case in the US right now, and it agrees with the overall notion that it's much better to be in a job you love, it ignores a lot of the problem. Top students, when they pick what area of studies to pursue, are bound to think about the prestige and earning potential of their future careers, though the amounts of those will differ for different people. If you could easily be headed for a job where you'll make upwards of $100k, accepting $40-50k is a lot for some people to swallow. Suppose I think I'd really enjoy teaching, and hopefully even be good at it, but asking me to be unable to retire for ~40 years, versus the 7-10 I can manage otherwise, is a bit much. Even if I'm not doing my ideal job, I can afford some hobbies that will make up for that. I like sailing, skiing, and traveling, and I'd like to get my pilot's license. Teaching isn't going to pay for any of that. So I make my trade-off, reducing by one the pool of potential teachers. And there are a lot of others doing the same thing.

I have many more things I could say, but I should wrap up my rant. I also believe that home life has an enormous influence on school performance, and I think land use patterns in the US increase this effect by reducing community cohesion, and along with it possibility of parents who struggle being assisted by the people around them.

[1] Somerville College Report, 1987 and 1996. (I've used statistics from Oxford here, but the trends are similarly mirrored for US. I just don't have a resource handy.)

vinchuco 15 hours ago 0 replies      
miguelrochefort 18 hours ago 0 replies      
The current education system is broken, yet it's designed to prepare people to the real world, which is even more broken.

We can't fix education without fixing the rest of society. The system is so complex and inconsistent, we simply can't expect a kid that keeps what makes him good (curiosity, honesty, idealism) to thrive in the real world.

miguelrochefort 19 hours ago 0 replies      
We all know what the problem is.

The solution is to preserve curiosity and honesty. These are the only traits that matter.

ankurdhama 22 hours ago 1 reply      
Humanity screwed up education the day teaching became a profession (to earn money).
Ask HN: Any self hosted solution to manage passwords in a team?
8 points by codegeek  15 hours ago   13 comments top 7
rajjalan 6 hours ago 0 replies      
I am obviously biased for following(founder) and password mgmt is just one part of it, but do check out Device42 for a low cost password vault: http://www.device42.com/features/enterprise-password-managem...

There is no limit on # of passwords or # of users with the base license and has full Rest API support.

koolba 13 hours ago 1 reply      
Check out: https://www.passwordstore.org/

It's git friendly and supports having separate GPG keys for different credentials.

gingerlime 8 hours ago 0 replies      
take a look at passopolis[0], a fork of Mitro[1] - which got acquihired by Twitter and later stopped supporting the project.

You can either use the free hosted service by passopolis, or host your own.

disclaimer: not affiliated with either of those, but was a happy Mitro user and then switched to Passopolis (and am still very happy to use and know the project lives on).

[0] https://passopolis.com / https://github.com/WeAreWizards/passopolis-server

[1] https://www.mitro.co/ certificate expired)

adp957 7 hours ago 0 replies      
Check out Pleasant Password Serverhttps://www.pleasantsolutions.com/PasswordServer
gawenr 15 hours ago 1 reply      
dirktheman 14 hours ago 0 replies      
KeePass on a shared server or even a Dropbox folder works fine, as long as you're aware of the slightly higher risk of putting your database on the internet.
Faaak 15 hours ago 2 replies      
A good LDAP infrastructure ?
Ask HN: Downloading PDFs from SlideShare Without JavaScript?
6 points by pmoriarty  11 hours ago   1 comment top
nmjohn 7 hours ago 0 replies      
I have a bash script that will do exactly what you want I suspect: https://github.com/n-johnson/bin/blob/master/dl_slideshare.s.... It needs imagemagick installed to build the PDF.

It's not robust and won't handle edge cases gracefully, but I've used it for a few hundred PDFs and they all worked.

The big downside is the slideshare slides are images, so the PDFs aren't searchable - they are just images.

Ask HN: If you started making a web app today which tool would you choose?
11 points by karimdag  16 hours ago   20 comments top 14
codemonkeys 15 hours ago 0 replies      
There is not one tool I would use/recommend before knowing the actual requirements.

In one of our latest projects we decided on following stack:

Backend/API: PHP, Symfony3, Mysql

We choose this because the following reasons:

The team is already familiar with symfony/phpWe had to integrate with existing stack/business logic in php ( or port parts of it )

Frontend: Angular.js

We needed a single page app that we could easily port parts of to a mobile app later onWe wanted to decouple our frontend from the backend by doing only api calls so we avoid having backend code responsible for generating html/etc

Real-time component: Node.js, Redis

We needed a component that processes events as they come in, and a lot of them. We decided against PHP so we could lower our memory footprint and also because it is a bit more convenient to deal with state.

This component checks each incoming data packet with a set of rules and reports on violations.

This component gets it's configuration from the backend api and reports back to the api whenever a violation occurs which needs to be logged.

siquick 4 hours ago 0 replies      
Surprised at the lack of Rails usage...

Personally, I would go for Flask just because it's so easy to build up momentum due to the minimal setup required.

reitanqild 14 hours ago 0 replies      
Right now, if tasked with building another service of the same type as the one I am currently creating (kind of a CRM integrated with various 3-rd party payments and messaging) I'd use the most recent version of my current stack.

My current stack is JavaEE on TomEE.

I'd probably happily sacrifice verified stack compliance for the latest TomEE 7 milestone build as I understand the verification issue is just Oracle being Oracle again, throwing a wrench in the gears just because 'why not'? Or rather to see if they can somehow extort some money from an open source project. </rant>

edoceo 9 hours ago 0 replies      
This long weekend (US) I started a project hosted in Linode running Debian. I am writing code in Go, HTML, JS, CSS using jEdit on Gentoo desktop (4 monitors). The backend stuffs are Redis and Solr. I used Bower to add web components. I still use Makefile rather than grunt or other newish things
PaulHoule 15 hours ago 0 replies      
Java back end, HTTP/2, everything tuned for small transfer size and high speed, no CDN, no extra DNS lookups, as little JavaScript as possible, but maybe d3.js or something else which adds a lot of value.
a3n 13 hours ago 0 replies      
Vim. :)

If it's just you, and a first outing, then a minimal set of whatever you're most familiar with. For me that would be nginx -> wsgi -> flask/bottle or similar -> postgresql, because python. Similar if you're more comfortable with ruby, js, whatever. Build out from there if it becomes worthwhile.

If you're a group, whatever allows the group to make best progress.

abhimskywalker 13 hours ago 0 replies      
Front-end: React.js(if fancy interactive stuff needed), Bootstrap with Flexbox for stylingBackend: Django, PostgreSQL, Redis, Elasticsearch, Nginx

Haven't used but wish-list to try next: Docker, GraphQL, and probably try hosting it on google cloud platform

If the use-case fits, even wanna try a Firebase-backend only app as well

bbcbasic 4 hours ago 0 replies      
C# asp.net and knockout for money

Haskell yesod and elm for fun

dagw 13 hours ago 0 replies      
Server: Flask (or possibly Django) behind Nginix

Database: Postgres and possibly Redis

Frontend: Not much of a front-end person so I avoid all the complicated stuff and stick with Bootstrap. I also tend to prefer coffescript

smt88 16 hours ago 1 reply      
Would love comments, questions, and criticism on my choices.

Hosting: Lambda via Serverless for API, S3 for HTML/assets

API: Node/JS via TypeScript, Postgres RDS, GraphQL

Front end: React

andruby 16 hours ago 0 replies      
If the app is mostly a tool that doesn't need SEO I would use Phoenix with jsonapi.org compliant api + EmberJS.
ramon 16 hours ago 1 reply      
AWS S3, Lambda (NodeJS). You'll get one year for free, then you'll pay very little on that configuration.
samsonradu 15 hours ago 0 replies      
Server: Nginx

Backend: PHP (Yii2), Mysql, Redis

Frontend: React (if I can't get away with just JQuery), Bootstrap 3

Realtime components: Node.js, Socket.io

brudgers 13 hours ago 0 replies      
ASP.NET webforms because it is what I understand best. YMMV.
Ask HN: How many of you non-tech people wanted to learn to code and gave up
57 points by sathishmanohar  13 hours ago   68 comments top 20
anysz 6 hours ago 5 replies      
I'm a Canadian with no Bachelor's and I started to learn how to code over a year ago to work in the field.

I learned the fundamentals of Ruby on Rails with Michael Hartl's tutorial and built an e-commerce application on Heroku from scratch (html/css/js/jquery/postgresql) It featured an admin panel, inventory management, user accounts and a reasonable RSpec test suite. It took me about 3 months of plowing 90hours+/week. I used it as a portfolio application to start looking for jobs. After blasting hundreds of resumes (>600), I got about 20 interviews. None of them worked out except for two unpaid internships which I financially could not accept.

I gave up Rails, but I didn't give up coding, so I asked the internet what was more likely than Rails to land me a job? iOS was probably more niche and more in demand. So I spent a month learning the basics of iOS development with Swift and released 2 apps on the App Store over the following 6 months (build-learn-build-learn cycle), both using Parse, Firebase and a panoply of 3rd party APIs. They were well architected (imo) using fundamental OOP principles, as well as the classic iOS patterns, singleton, observer etc.

This time I sent over 3 thousand resumes over the course of 5 months, all over the world: Canada, USA, Mexico, UK, Australia, Netherlands, Germany, Argentina... you name it.

I got 2 remote pair-programming sessions, which I nailed, I also got about 8 coding assignments, which I completed within hours of receiving the instructions (4 of which never even had the decency to respond or give feedback). All in all response was the same. I even got a couple of absolutely ridiculous contract offers such as building a full fledged real time web and iOS landlord/tenant management system for 2000$, solo.

Without trying to start a pity party, I am now doing manual labor on a curtain assembly line, going door to door after my shifts trying to sell Wordpress websites, which are easiest to setup and sell.

I guess I had to stop coding because I couldn't find a job, because it takes up time I don't have and even though I am passionate about it, passion doesn't pay the bills.

reitanqild 11 hours ago 0 replies      
I didn't give up but I have to admit I felt quite useless after finishing higher education.

I understand that higher education isn't there to teach you VB or Java but to teach you the principles... but IMO it certainly wouldn't hurt if there was some connection to real life.

I came in as someone who had already coded a while. I was best in class in several subjects IIRC, helped others but felt like I could never have a career in Java.

The reasons?

We were never taught how to work efficiently. Or rather: teachers actively restricted access to sane environments.

Code was supposed to be written in an old unsupported text editor.

For many of us this very smart idea teachers has about teaching things "from ground up" has the nasty side effect of demotivating many of the best students to the point where you consider doing something else.

I never even dared to apply for a Java job and only started after being picked up. I remember telling my first boss the truth: yes, I have been coding since I was a kid and yes I have passed Java in school but I cannot program it. Luckily he gave it a try and with good colleagues Java soon became my personal favourite.

katpas 8 hours ago 1 reply      
I started out with Codecademy and gave up lots of times (over about 6 months) before I decided to commit to learning full time.

My plan was to lock myself in a room for 3 months and teach myself Python, I ended up doing an in person course in Javascript (one of the rare free ones). Learning with peers and some support made the whole thing a lot less gruelling. Before that I would get stuck on very simple things for hours and hours not knowing what to google to find the way out of it.

I wrote about this in article a little while ago if you're interested in the full process I went through. Note (I didn't choose the title for this) - http://www.gadgette.com/2016/02/19/how-i-learnt-to-code-in-a...

scandox 7 hours ago 4 replies      
I think the reason that many smart people don't stick with programming is because a fundamental part of the job is struggling with intellectually trivial incantations specific to some configuration/OS/Language/Tooling.

I am a programmer and I have a lot of patience for that stuff. But I don't why I do, because objectively speaking it's crazy to spend hours ingesting this kind of ultra-specific, non-reuseable information.

bloaf 8 hours ago 1 reply      
Engineering grad student here:

1. Learned to code some C# in an attempt to distribute some of my simulations to other computers. Had a great time and managed to get something good enough up and running.

2. Tried to pick up Haskell because I liked some of the ideas, and had a few projects I was interested in trying to do in a functional language. Had a bad time and quit after ~2 weeks. The environment and tools were garbage. I thought the old by-engineers-for-engineers software I used to build research models was user-unfriendly, but I guess that was just because I had never tried to work with the software programmers build for each other.

salemh 8 hours ago 1 reply      
I used to work in spreadsheets all day, or at least, 70% of the time, I'd have to collate 50x spreadsheets information into a singular summary page, etc.

I worked through ~20% of "Learn Python the Hard Way", then later, the intro CS 101 of Udacity which has a Python intro, as I wanted to be able to do more then vlookups and complex workarounds for Excel sheets.

My new career is in marketing automation, so I did some tutorials online, and bought a SQL book to pull PL/SQL queries for data segmentation. I also picked up HTML/CSS, but don't have any reason to really use Jscript. I can read it, and trouble shoot in some landing page uses, but I don't need it.

Learning to code was always a supplemental goal for career growth, and I find it fun. I was that IRC guy who loved scripting simple tasks like a music player/displayer, k/b wars, etc.

However, when I'm actually diving into learning actual code, I don't enjoy it. I don't think I'm built for it, just as I don't grok statistics, yet my sibling is a actuarial scientist, but he gets confused about things that come naturally to me.

Being in Marketing Automation, its more relevant for me to do "continued" (outside of work) education not in coding, but in platform research (Eloqua, HubSpot, Marketo), more SQL/data management (I am reading "Object Technology: a Manager Guide), and certifications in these platforms.

DrNuke 11 hours ago 1 reply      
Coding for coding is irrelevant for non-techies and rightly so: outsourcing is so cheap nowadays. Coding in order to do something relevant within their particular field of knowledge is their main point and may be worth the fuss.
caseymarquis 2 hours ago 0 replies      
I've given up at many points over the last 9 years. I now program "professionally". I work on full stack web applications, networked desktop applications, and recently embedded applications.

The primary reason I gave up was that I wasn't willing to accept the amount of effort which needed to be put in to get the level of results that I wanted. I just couldn't comprehend that the skills I wanted to have required years of commitment.

The advice that I'd give would be to understand that this is a huge task. You won't learn everything quickly; even if you're very bright; even if you spend 14 hours a day on it. Those things will help, but they aren't the key.

If you want to be a good programmer you need to love learning. It's not about being clever, it's about being persistent. You constantly need to learn new tools and frameworks, and occasionally new languages. You need to understand the technologies you're interacting with and how they work. And you need to take all those tools, frameworks, languages, and technologies and use them daily.

But mostly you need to invest the time.

Don't give up if you let a big project go because it's too difficult, or don't understand something, or spend two weeks on something you thought would take an hour. Be disappointed, sure. But don't quit.

Keep going. Keep learning. Keep on picking up just a small amount of knowledge or skill each day.

In a year things that now seem complex will be obvious. And that will happen again and again every year that you continue learning. Eventually, your failed projects will turn into completed projects, but it could take years for this to start happening depending on how ambitious the projects were. You can't let that stop you. You just have to keep going despite it.

So keep going. But realize it's a long, slow, life-time commitment to constant learning. It's not easy. Even if you've been good at everything else in life, there's no exception for you. Mastery and skill will only come with significant time and effort. But they will come.

Also learn vim. That sh*t is awesome.

pappyo 12 hours ago 2 replies      
I had two problems while teaching myself how to code; I'm not that passionate about it, and learning technical disciplines on line is not how I learn.

I viewed coding as a means to an end. Learn to code-->start a business-->get investors-->pay someone else to code. I didn't care much about what I was learning, only that what I was learning could potentially fulfill other goals. That, in and of itself, wouldn't necessarily deter someone from learning how to code, only...

I struggled learning through on-line tutorials (Code Academy et al). It's not how I learn. That was unfortunate, seeing that coding community spearheads this type of learning. I realized that if I wanted to make it work, I'd have to register for a class. Then I became scared that maybe the struggles wouldn't persist past on-line and I'd be financially committed to it. I wasn't willing to take that risk.

MrJagil 7 hours ago 2 replies      
Classes in Javascript were really hard for me for some reason, and I've never really passed that point. Also, the fact that programming is not solving anything by itself, you need to know the entire stack. After wrestling with classes for a while it's really demotivating to realise you have to know DNS, server-side languages, http_S_ and all sorts of things before you can actually create your app/website. It was just a bit too much for me.

Codecademy did a good job though and http://www.theodinproject.com/ too.

EDIT: Also, the job prospects did not look too good because of the fierce competition. What motivated me was doing my own apps/sites (lego for grown-ups), or at least work on a startup, but the required resumes were really daunting. Sysadmin just didn't have the rockstar flavour to it (I think it's a fine job, just trying to convey the fact that a certain air of adventure needed to be present to lure me to stick with it- i.e. the same reason 13 year olds learn the electric guitar).

touchofevil 6 hours ago 1 reply      
I've made a couple of attempts and I'm about to make another attempt to learn to code. I think the problem I run into the most is that a lot of the online learning is not project based, or takes too long to get started on a project. For example, I started the TeamTreehouse Flask Track and it takes a while before their tutorials challenge you to actually start building a site with Flask. I signed up for onemonth.com and I liked their approach much better, where you just dive in and start building something from the beginning. However, the OneMonth Python/Django course that I was taking shutdown right in the middle of the course I was taking, due to problems with the course material. It's also been very difficult to choose a language/framework, but I think I've settled on Python/Django. I'm thinking that I will resume my Flask course at TeamTreehouse and also give Code4Startup.com's new Django course a try.
fierycatnet 7 hours ago 3 replies      
I was messing with programming for years now but I can't manage build anything worthwhile, even for my own amusement. I was CS major but I got burned out on high level math and I switched majors.

Through out these years it's always been a struggle to learn to code and finish something. I've done some basic problems, some Project Euler, etc. I did countless tutorials, it just doesn't stick for me. I've been through so many languages that I can't even remember them all, name it and there's good chance that I've read a book on it.

It also seems like there is so many tools and programming today is so convoluted and over engineered that I just get overwhelmed. I also don't have anyone to talk about programming, I am just spinning wheels solo and get frustrated when I get stuck.

Right now I am giving my last chance of learning to code. I found out Lisp and eventually Clojure. It seems more straightforward and simple, there are no 'design patterns' to remember and break my head with. I feel like I can slowly build something from bottom up. I have high hopes for Arachne upcoming framework. I hope it will be accessible and I'll be able to make SPAs sites.

But yeah, I feel like I've burned out on this. I just get frustrated with code most of the time when I can't come up with a simple solution.

votingprawn 6 hours ago 0 replies      
Years ago I started coding qbasic with a photocopy of a book given to me by a friend of the family.

I progressed from there to medicore competency in PHP, rails, and c++. Then I went to university to study comp Sci...but almost immediately switched to aerospace engineering, and my coding skills plateaued.

By that I mean I can write basic stuff in all sorts of languages, but I'm miles away from writing a compete program or anything user friendly. Most of my code these days revolves around automating various things in the most sensible language. Where sensible often means something the next non-coding engineer to come along can understand.

I guess I stopped because I knew enough to do what I currently need to do. I'm content that, given time, I could learn to be a better coder. But at the same time I avoid jobs in my industry that are suited to decent coders because I know there are more suitable people for the role.

Every so often try to pick up some "hobby coding" but find that I don't really enjoy it like I did as a teenager.

exolymph 7 hours ago 1 reply      
I've dabbled a bit with various online courses, and concluded that coding just doesn't spark my intellectual interest enough for me to get into it fully. Wrote about this, actually: http://sonyaellenmann.com/2015/12/its-okay-to-not-learn-how-...
elbear 7 hours ago 0 replies      
First time I stopped, because I got stuck. I didn't have Internet at home, so I had nobody to ask for help.Second time I stopped, because of university exams. I was studying something completely different at the university and when exams came, I dropped the programming and didn't pick it up after.Third time was the lucky one. I made programming my most important priority and I didn't stop. Also, I had Internet, so I could ask for help.
fmilne 8 hours ago 0 replies      
The only online curriculum I have had success with was:http://www.javascriptissexy.com/how-to-learn-javascript-prop...

The reason it clicked was because at the time, a colleague offered to mentor me. This helped since he would assign me cases related to my skill level, show me how to ask better questions, and explain how things worked in context to our tech stack.

giarc 7 hours ago 1 reply      
Because it was free.

I tried many of the free options out there but whenever I hit a roadblock I just quit because I had nothing to lose. I paid $30 or so for a swift course and never stopped because I had paid money. It's a tiny amount of money but I felt like I had to see it through since I paid money. I now have 2 apps in the app store, with another on the way this week likely.

ftwynn 6 hours ago 1 reply      
I've started and stopped a number of times. Mostly I don't have an itch to scratch that pushes me to make anything interesting.

I find myself particularly struggling when language walkthroughs get to libraries and code organization. Follow all the paths and dependencies is really tough for me.

pythonscheme 13 hours ago 4 replies      
I am having some problems with magic methods in Python. They are defined inside a class using built-in functions and are not directly callable. What are some helpful resources with this topic? Thanks.
conductr 7 hours ago 0 replies      
I learned. Then realized the value of having good ideas for what to work on.
Ask HN: Advice needed regarding TDD from programmers
3 points by supersan  15 hours ago   3 comments top 3
twunde 9 hours ago 0 replies      
You can definitely write successful applications without tests of any sort. However, as your application becomes more complex, it becomes more and more likely that you'll find it difficult to make changes without breaking something else (especially as developers cycle through the codebase). Tests become significantly more important if you're planning on creating and supporting projects for 6+ months

Now the good news is that you don't need to use TDD. Tests of any kind do make a difference, even if you have to write them after you've coded up a solution. Tests should be testing the most important parts of your application or the trickiest parts. Tests are there to give you confidence that your code does what you think it does AND to ensure that you don't accidentally cause regressions. If your application wasn't built with testing in mind, use test data or use a BDD tool like codeception.

I don't find TDD to be necessary but I do find tests necessary. It along with automated deployment can increase the quality of your code by an order of magnitude.

cauterized 13 hours ago 0 replies      
I've absolutely built projects without tests, let alone without TDD. They eventually became overloaded with tech debt. That said, the wrong types of tests can become a straitjacket instead of a support system.

I don't particularly enjoy TDD, where you write the tests first. I do enjoy what I call test-oriented development, where code doesn't get merged without tests, and automated testing is how you verify any changes before committing them (though for UI and workflows you should always have an acceptance testing stage). It goes a long way towards making me feel confident in my code; it gives me a structured point in my workflow to consider what the edge and corner cases might be and how to deal with them; and it often helps me catch and verify fixes for subtle (or not so subtle) bugs much sooner and with a lot less effort than click-throughs would.

Edited to add: you say you spend a lot of time mocking databases and such. I usually plan to have a DB available for testing. Django in particular makes this easy by building an empty DB scheme for each test run and running every test in a transaction that gets rolled back so that the DB is in a known state for the next test. Some things you may just want to use instead of mocking, especially if they don't require running an additional process (sockets seem like an example of that to me, depending on what you're doing with them).

For other interfaces (especially third-party web APIs), look for libraries in your language that will let you mock requests, specifying responses. If there isn't one, build one for re-use, use it for all your projects, and release it open-source. That'd be a great way to earn some visibility in your ecosystem.

afarrell 14 hours ago 0 replies      
I really enjoy TDD when I get into the rhythm, but I've found that setting up the infrastructure can be a real barrier, especially for a language/framework that I've never worked in.

However, I have written code without it and I frequently find that when I do so, I very quickly regret it. Either I get confused about what precisely I'm doing or I end up having to write tests after-the-fact and it is much harder. The barrier is worth overcoming. How?

1) Find good tutorials and work through them.

A lot of people say that the best way to learn something is just to dive in and build something. I disagree, at least when that thing is new to you. I find it is much better to find a tutorial that guides you through building something the first time. It is worth asking around on twitter or on a relevant subreddit for this. Then, don't just read--actually work through at least a good chunk of it. Once you've done that you have some code you can look back on when you are looking for the basics of how to set up your tests.

2) Don't worry about mocking as much in the beginning.

The purpose of mocking is to avoid having the test take a long time to run due to the machine spending a bunch of time working on other things. Given that you are waiting on the machine when you run your test, this is actually meaningful. So, mocking intelligently can be a win if you it saves you that time. However, it also has the downsides that it can take a lot longer to write the test and it can make your test more brittle. For that reason I find it often makes sense not to mock and just write a bunch of tests that do in fact (for example) hit the database. This is especially a good idea with a new language where trying to use 7 new libraries at once (cough javascript cough cough) is going to lead to confusion.

Also note that TDD doesn't really work if the code is already written because doing fine-grained tests for code that is already written is really hard. It is better to do interface/API tests and put off unit testing until you are willing to refactor the code.

Note also that there are some tasks where your tests are going to be more like infrastructure tests and your changes won't be quite as granular as TDD doctrine dictates. That is something you have to accept when everything is coming together, because that is the realm of integration tests.

There is a tutorial I've written which aims to teach this alongside teaching configuration management, though it is my first tutorial. I would love critiques of the pedagogy and example code. https://amfarrell.com/saltstack-from-scratch/

Ask HN: Refactoring a BASIC Blackjack Game from the 70s
22 points by LarryMade2  3 days ago   18 comments top 11
akamaka 3 days ago 0 replies      
If I were to refactor this code, I'd first make a good set of automated tests, by recording the input and output of a series of games. If you go through many stages of refactoring, these tests will save you a lot of time.
armamut 2 days ago 0 replies      
The code looks like the ones from C64. I used to write C64 Basic when I was 5 to 10 years old. (Later my father bought me an Amiga 500 and I started to play around 68000 assembly with MSeka assembler. There was also a C compiler, but there wasn't any documentation about C and the libraries. So I didn't choose to learn C with trial and error. Also there wasn't any Internet... Assembly was so much easier and logical to me at those days.)

But at some time, my C64's tape recorder broke. And I couldn't save the programs I wrote. So, programming to me was, waking up in the morning, start writing some program and playing with it, and in the evening when I switched off the power button everything would be gone. But I loved to play with my C64 :)

At those days, sometimes I even wrote very long programs. But I must admit that, when I see those 322 lines, it really frightened me now! It's looks like a million line C or Java codebase to me. I have no intention to refactor that code at all.. But I agree it would be fun.

wvenable 3 days ago 0 replies      
I'd be tempted to toss that into QBasic where it might reasonably run. Then start renaming variables and creating functions in QBasic. Slowly turning it into a modern program but have it run at each stage.
newmana 3 days ago 0 replies      
dragonbonheur 2 days ago 0 replies      
Refactor QBASIC code instead and keep your sanity: http://www.jefflewis.net/programming-qbasic-blakjak.html#sou...
icedchai 3 days ago 0 replies      
I love looking at old BASIC code. I remember learning it on a TI 99/4A, then an Apple IIe a few years later.

Recommend you port it to Python, as a command line / console app. Command line would make it simpler to keep the "spirit" of the original.

JohnDeHope 3 days ago 1 reply      
One of the biggest hurdles for me is the inability to have arrays of structs. You have to have multiple arrays of atomic types, and keep the indexes in synch. Maybe that's not a problem here. I collect old basic books and enjoy the nostalgia as you seem to :
russellbeattie 3 days ago 1 reply      
I took a few minutes to see how difficult it would be just regexing a bunch of lines into something like JavaScript. At first it was pretty clear, but then wow... I forgot how insane GOTOs were! How anyone could follow a program like that amazes me.
JohnDeHope 3 days ago 3 replies      
Related question... Is early BASIC the best we could do with all of our modern programming experience? If we were teleported back in time, knowing everything we do now, what could we accomplish in the same hardware constraints, language design wise?
zem 2 days ago 0 replies      
a few years ago, i contributed a guest ruby quiz that involved translating the old basic HAMURABI game into ruby. it was a pretty fun exercise - you can see the challenge and a few solutions here: http://rubyquiz.strd6.com/quizzes/223-hamurabi
nobleach 2 days ago 0 replies      
Oh the days when I used to copy code out of books on my TI-99/4A...
Lastpass not using certificate pinning, wut?
3 points by johnflan  16 hours ago   8 comments top 2
smt88 16 hours ago 1 reply      
I've always been surprised that anyone thinks shared cloud password databases are safe. You'd have to trust that service so completely.

My suggestion is to use KeePass and store your database in a zero-knowledge, self-hosted cloud with end-to-end encryption (and also secure it with an offline private key).

If setting up that cloud storage sounds like too much trouble, SpiderOak is a good centralized, zero-knowledge service.

SubiculumCode 5 hours ago 0 replies      
is this real?
Ask HN: Specializing in a technical domain
10 points by votr  1 day ago   1 comment top
throwaway_105 18 hours ago 0 replies      
I am also curious to know, what are some things which would be worth specializing and hold great value for the future? (Of course, it is hard to predict the future, but would just like to know what the HN community is betting on)
Ask HN: Good alternatives to screen/tmux to persist long term jobs?
2 points by aashidham0  21 hours ago   6 comments top 4
0942v8653 16 hours ago 0 replies      
I can't remember if it has the buffer space you want, but take a look at dtach. https://github.com/djpohly/dtach/blob/master/README
stephenr 19 hours ago 1 reply      
If it's a one off isn't this exactly what nohup is designed for?
mattkrea 21 hours ago 0 replies      
Either write programs that daemonize themselves or write upstart/systemd services
malux85 19 hours ago 0 replies      
Bizspark what did you spend your credit on?
6 points by dimasf  1 day ago   2 comments top
dimasf 21 hours ago 1 reply      
Does anyone know if I can use BizSpark credit for purchasing SSL from them?
The Sharkoon FireGlider Mouse software queries and connects to some porn website
5 points by chrisper  1 day ago   5 comments top 2
mmastrac 1 day ago 2 replies      
Sounds like a placeholder. "serverclient.xxx.com" reads like "serverclient.something.com".
peternicky 1 day ago 1 reply      
Link is broken.
Does the whole Thiel vs. Gawker thing trouble you?
31 points by bitinn  2 days ago   30 comments top 12
tdburn 2 days ago 2 replies      
There is a big difference here. In China the press is censored by the state. In this case Gawker was allowed full freedom by the state to print what they chose. But the individual who felt his privacy or whatever was damaged sought redress through a Civil trial. The press has many protections for what they write, where an individual has little ability to fight back when they have been wronged. And it takes lots of money to fight such a case, and I bet many such cases fail. And even having a large backer does not guarantee success. This is not a perfect system, but it is not censorship.
pythia__ 2 days ago 0 replies      
It doesn't trouble me at all from the perspective of this being something Thiel can do that I can't. As long as billions mean something billionaires are going to wield more power than mere morals. From my standpoint, moreover, this is far from the worst use of private donations for an "activist" cause.

As for it being censorship, this event is not properly comparable to the government censorship of speech in China. Read http://www.paulgraham.com/say.html if you haven't. In the US what you can say is restricted through informal, "softer" means like social pressure, which would make it like most places if not for the fact that American cultural institutions are the most powerful in the world; those institutions, in turn, have a complicated relationship with the government. Briefly, American billionaires like Thiel have nothing on the American media or universities in terms of their ability to influence what people think. Government, media and academic opinion form a feedback loop.

There is (thankfully, of course) no Great Firewall of the United States but in practice American thought rarely deviates from the government-approved norms.

hirundo 2 days ago 0 replies      
It is a strength of the U.S. system that outsiders to a case can contribute toward it. That's as true when the outsider is a private individual with a grudge as when they're the ACLU or Sierra Club. It is a weakness of the U.S. system that a jury has the power to destroy a company with excessive judgments, as in the Hulk Hogan case. I don't have the solutions to this, but I am clear that one of them is not to limit potential plaintiffs to their own resources.
smt88 2 days ago 2 replies      
The troubling part, to me, is not the case itself. I personally don't believe the sex tape was newsworthy (at least not as much of it as they released).

The troubling part is that we have someone secretly using money to manipulate a case in which he is not a direct participant.

Wealthy people should not be able to weaponize our legal system.

waterphone 2 days ago 0 replies      
Yes, it definitely does. There has been a recent shift in the past decade or so among a lot of people, I've been noticing, where respect for strict freedom of speech and press has been in decline. A loss of the ideal of "I may disagree with what you say, but I'll fight to the death for your right to say it".
wmil 2 days ago 0 replies      
The thing is that there's already a huge amount of manipulation by billionaires. Read up on George Soros and Carlos Slim.

Thiel funding a lawsuit against a website that specifically wronged him is so mild that it's just not worth getting upset about.

To me the story seems to be that Gawker was wealthy enough to crush libel and slander lawsuits for years. But in the end, there's always a bigger fish.

commentzorro 2 days ago 1 reply      
I'm loving it because Peter Thiel is a f-ing billionaire who is now publicly showing what the 1% of the 1% are capable of. The power that these 0.01% have is staggering. To see what they're capable of with just a few million dollars is truly awesome. And the very best part is that there absolutely nothing we can do about it anymore. We're now officially owned by the 300!
auganov 1 day ago 0 replies      
The only unsettling part to me is the cost of litigation.

Assuming the legal system is just, I don't have a slightest problem with whoever funding or managing a lawsuit, revenge-seeking or not.

And comparing an invasion-of-privacy (or libel and slander) lawsuit to opaque state censorship is a huge stretch.

xbmcuser 1 day ago 0 replies      
The problem is not that Thiel financed Hogan the problem is that Hogan needed the money to do so that's where us justice system seems as fucked as anywhere else in the world.
kqia040 2 days ago 2 replies      
I feel like hes allowed to do what he wants with his influence/money/connections. If I fell victim to defamation by a news outlet and I had the ability to put a stop to it, I would.
matttheatheist 1 day ago 0 replies      
Good old-fashioned revenge. What's not to like?
max_ 1 day ago 1 reply      
Nick Denton kicked the hornet's nest with his article on false claims of Peter Thiel being gay.

Now he is going to get stung.

Ask HN: How to set up a minimalist professional web page these days
17 points by ACow_Adonis  3 days ago   21 comments top 16
achairapart 2 days ago 0 replies      
1) Use a service like SquareSpace or Medium, no dev involved.

2) Use WordPress: just pick a simple, one purpose theme and avoid bloated ones (ie ThemeForest). It requires a LAMP/LEMP stack.

3) Ghost is an alternative blogging platform with minimalistic and usually well designed themes. It runs on Node.js.

4) Pick one of the many static site generators based on the language of your choice. They require no database and only need basic static hosting: https://www.staticgen.com/

_RPM 3 days ago 1 reply      
Mine is a true home page. There isn't anything on their but hand written HTML that contains links to my online stuff. Not really anything special. It also contains a picture of myself and my email. I wrote some obfuscated javascript to write my email to the document.
avail 2 days ago 0 replies      
I wrote my homepage[1] in about an hour (with bits and pieces of js borrowed). I used to have a wordpress blog styled exactly the same, but I never posted on it so it is gone now.

I by all means don't think this is 'professional', but I doubt what you want to make would need much more work than I have done.

These days there's resources for everything, webservers which have really good proxying if you want to code in a language other than php or manually writing html, pre-made 'article-writing software' in many languages made for the web.

Tools? All you'd need is notepad, or nano (or, your preferred text editor)! You shouldn't need to run compiled code for the web, in my opinion, as there's no noticeable speed differences.

Googling for specific things in a specific language will probably give you results, e.g. 'nodejs blog' will land you to Hexo[2], which really neat, customizable, and fast.

[1] https://avail.pw[2] https://hexo.io/

mdorazio 3 days ago 1 reply      
Can you provide more detail on what you're actually looking to post and how much functionality you want to include?

On the lowest effort end, squarespace is a pretty decent option for getting something that looks nice up and running quickly without needing to deal with server stuff. It works for several colleagues, but has some flexibility limitations.

The next step up would probably be a Wordpress installation either on your own server or the lower-effort hosted solutions from wordpress.com. Personally I can't stand wordpress (it's become immensely bloated and keeping it updated and all your plugins/themes/whatever in sync and playing nicely can be a pain), but it works well for a huge number of people.

After that you're looking at rolling your own custom page on your own server, maybe a simple themeforest template on a shared host. I don't recommend this approach these days unless you're itching to get your hands dirty with some code whenever you want to update something.

probinso 1 day ago 0 replies      
If you do not want to see yourself as web developer, you can often find free templates that are simple HTML CSS. You can either use this as your template depending on the license, or create a derived piece.

I use Dynamic DNS and a lamp(hp) server hosted on a Raspberry Pi.

This cost me a total of $10 a year + trivial Electronics costs.

My site consists of 0 interactive parts. I have no use of a database . It only lists work that I've done, Often linking out to GitHub repositories.

kelt 19 hours ago 0 replies      
I went this route for a simple web pressence:

- html theme from themeforest

- amazon s3 for hosting the static files

- linked a domain

- used formspree.io for the contact form

Not much traffic, couple of cents a month. I don't do much updating too. Worked well for me.

Good luck!

bobwaycott 3 days ago 0 replies      
There is a plethora of static site generators in just about any language, nearly all of which have some decent-looking templates you can use. Then managing your site is just a matter of writing markdown for text content, and pushing it up somewhere for hosting. Github can handle this, as can many other services (e.g., S3).
LarryMade2 3 days ago 0 replies      
I like dokuwiki - https://www.dokuwiki.org/dokuwiki#

You can use a CMS template to make it blog like, lets you do nice formatting no cruft.

Here my use of it (need to do some updating, been a while):http://www.portcommodore.com

Heres a good example page:


bbcbasic 2 days ago 0 replies      
Just to throw a few numpty options out there we have Wix, Wordpress.com, Blogger.

Then there is Github pages and some people have created template repositories that you can clone or fork that look rather nice and are easy to post content to if you just learn Markdown which takes five minutes

E.g. https://github.com/barryclark/jekyll-now

snehesht 2 days ago 0 replies      
If you just need a blog try this https://posthaven.com

However if you need an intro page I would suggest wordpress, they have a hosted one too, incase you don't want to deal with server stuff.

p.s My site https://snehesh.me is built on react and nginx

bigmanwalter 2 days ago 0 replies      
My choice right now is to build a small Django site with a sqlite db backing it. This way you get a free admin dashboard for updating the site. For the theme, grab something from www.html5up.com
kirankn 2 days ago 0 replies      
I would suggest Jekyll on Github pages with a custom domain and possibly Zoho for custom email. All this is free and can be setup on a quiet Sunday afternoon.
walrus01 2 days ago 0 replies      
What is your level of proficiency with Apache/php/mysql? There are some good minimalist WordPress templates that do not look like a blog.
sheraz 2 days ago 0 replies      
Wix, weebly, or square space. Done and done.

I'm a dev and would doing it if I were not such a cheap bastard.

peternicky 3 days ago 1 reply      
Check out codepen and/or GitHub pages...very simple and flexible.
marvel00legend 1 day ago 0 replies      
Ask HN: Have any of you switched to Bash on Windows?
69 points by ywecur  1 day ago   61 comments top 23
jhugg 1 day ago 1 reply      
1) Its super cool that it works.

2) Its not ready yet. Lots of stuff doesnt work, though much does.

3) Its oddly separate from Windows, which makes perfect sense, but the unix is so much less integrated than mac (or obviously linux) systems are.

3a) Not being able to launch windows binaries from Bash makes scripting hybrid stuff hard. I think this will be fixed at some point.

3b) Im not sure if the windows file explorer can see the ubuntu root fs. Could be wrong here.

It seems that once it goes 1.0, it will have some advantages over a VM with shared files, but also a few disadvantages.

oldsj 1 day ago 2 replies      
So I got all excited and bought a Dell xps 13. I originally just wanted a laptop that would work great with linux but of course it turned out to be more work than it was worth so I switched to win10. I joined the windows insider program and messed with bash on Windows for a few hours but found that it's definitely not ready yet. It's a great idea and I'm glad they are working on it but simple thing like hitting ctrl+x to exit nano would crash the whole terminal. Anyways I switched to the git sdk with pacman and that actually was a very decent substitute. Unfortunately, the bottom half of my xps's screen went out after owning it for 3 months, and Dell support has had the thing in the shop for almost a month now. I vividly remember now why I left the windows scene and recently got a retina MacBook pro. I know I'm a little off topic but put bettertouchtool on it with Windows style window snapping and it's a far superior experience in my opinion.
lj3 1 day ago 1 reply      
I've been using it for a while now. There are lots of small annoyances, like every file appearing with a green highlight because it doesn't know how to deal with NTFS (for some reason it thinks everything is other-writable).

Also, if you use the ext2 volume manager to access EXT3 or EXT4 drives, they don't show up in bash at all. I haven't figured out why yet.

I was able to install ZSH after some fiddling with ZSH and compiling a custom version. That was a month or two ago, though. I don't know if that's necessary anymore or if they fixed the issue. But, everytime I run bash.exe I have to switch to ZSH manually. For whatever reason, chsh thinks zsh is an invalid shell.

A bigger issue, for me, is it runs as root by default. I was able to create another user and manually switch over using 'su', but it's an annoyance. I haven't figured out how to automatically start a session as a non-root user using zsh. Actually, scratch that... I just added /bin/zsh to the bottom of my .bashrc file and it works.

Another downside is the linux subsystem has no awareness of the rest of windows and vice versa. I imagine that kind of integration is going to take some time, but I look forward to being able to automate my windows programs with bash!

All the things I need it to do work, though. I use vim and grep and search and all those lovely features that I call my "zsh ide".

So, on the whole... I wouldn't use it as my primary daily driver yet, especially considering you have to sign up for the windows 10 dev updates in order to get it. Every morning when I wake up it's a coin flip whether the machine will work or decide not to render drop down menus (just as an example...).

But, when they finally get it working and release it as standard, it'll be marvelous. Much, much faster and easier than running a VM or Cygwin.

stephenr 19 hours ago 0 replies      
I find it hard to believe anyone was/is using OS X instead of Windows just for Bash.

Every Mac since the switch to Intel processors has built in support for dual-booting Windows. If you want to play games that don't run on OS X, boot into Windows and play your game.

I am struggling to understand the concept of compromising your working environment so much, just for the ability to play games without a reboot.

I would imagine the productivity losses in a single hour of working would be more time than is required for two full reboots - into Windows and back to OS X.

lnanek2 1 day ago 2 replies      
Usually I use Cygwin. Have for many years. If I ever hear Bash on Windows gets a feature that doesn't have, maybe I'll check it out!
ghurkan 1 day ago 1 reply      
My experience so far: Installed Ruby in bash. Fetched some PDFs online by using a basic script. Didn't get any errors. As others may say, it's still buggy. It can't replace your work environment just yet. But it's constantly getting updated.
NobleSir 1 day ago 0 replies      
Msys2 fills the need you seem to be having for me: https://msys2.github.io/ it uses pacman for a package manager and has everything I've needed. The only thing windows + msys2 missed for me was xcode for writing iOS apps, but if you already have a mac, then it's not really a problem.
DennisAleynikov 1 day ago 1 reply      
I just had to switch from mac to windows upon losing my only mac workstation. I really hated the transition at first and bash on windows was my savior. It actually has apt-get and even though it's only on the preview builds for now it will become legit soon and be almost as useful as normal bash on any other nix system.

One of the most glaring issues is that it's contained in a windows-like terminal and the fonts are broken for non-standard characters.

vram22 5 hours ago 0 replies      
For anyone interested in a lightweight partial solution, the Ch suite of tools (that runs on Windows) from SoftIntegration.com includes many common Unix command line tools. I first got it for the C interpreter, then found the other features, and use some of them.
facorreia 13 hours ago 0 replies      
I've made the switch to Bash, and the full Linux kernel and userland, a few years ago, and I've been loving it.

As for gaming, I have one HD on my machine with Windows, and I boot from it to play.

This has the added bonus of completely separating my "work" environment from my "play" environment.

alexeiz 11 hours ago 0 replies      
This Bash on Windows is not created to replace Ubuntu desktop. It's created for running Ubuntu in the Windows-based cloud, Azure. You can already run Linux services in Azure with Docker, but the performance is sub-par, because Docker for Windows currently relies on VirtualBox. But once the new Docker is available (that uses HyperV) with better performance, Bash on Windows will be instantly obsolete.
KayL 1 day ago 0 replies      
There's still many bugs on Windows Bash. You couldn't 100% rely on it.
naakkupoochi 1 day ago 1 reply      
While in "bash on Windows" I happened to upgrade or uninstall packages and that caused the package manager to get into a cyclical dependency issue and could not install or update anything further. Could not do any sort of cleanup and the entire thing is now useless and don't know how to restore it to the initial state
ams6110 1 day ago 0 replies      
I don't use Windows much these days and haven't tried "Bash on Windows" but for many years I regularly used bash in cygwin on Windows. At the time I used PuTTYcyg (https://code.google.com/archive/p/puttycyg/) for my terminal emulator (apparenlty no longer maintained).

I remember it all working very nicely with little perceptible difference from working on Linux.

mcdevhammer 1 day ago 1 reply      
I haven't tried it yet (still running 7) but I use the git bash shell all the time. Can anyone chime in on what the bash in Windows 10 gives you that git bash doesnt? Not that I've really fully explored but git bash seems to have a lot of the common utilities (it has grep and vim).
PeterWhittaker 1 day ago 1 reply      
Is there a decent Windows equivalent to homebrew? I've read of scoop, but have no experience with it.
voltagex_ 1 day ago 0 replies      
The issue will be that they need to ship a whole new version of Windows for major (syscall-side) improvements - this isn't a problem with the Insider program, but you really don't want to be running Insider builds on your primary dev machine.
anthnguyen94 1 day ago 0 replies      
I've had it since it first came out, it's miles better now than it was at first and I'm sure once it hits 1.0 it'll be usable for some dev work. Still going to stick with my Ubuntu book for full stack at the moment though.
lacker 1 day ago 0 replies      
I tried, but it got bogged down with bugs in the installation / setup process. Seems like it just isn't quite ready for prime time yet, which is fair because Microsoft hasn't really claimed it is yet.
captnsamoil 1 day ago 1 reply      
The true question here would be: When should we expect Fish for Windows?
ryanlol 1 day ago 0 replies      
The thing that annoys me the most about is the fact that it is absolutely impossible to get useful google results regarding it. (Desperately needs a common acronym or more googleable name)

Otherwise it's been pretty awesome, despite some incompatibilities.

And oh, get ConEmu to fix the garbage cmd.exe https://conemu.github.io/

davidgerard 1 day ago 0 replies      
When I'm stuck on Windows I install Cygwin and live in the Cygwin shell. It's almost like home.

I found it very useful for monitoring - instead of waiting for someone to write e.g. a Nagios script for the thing you want to keep an eye on, you can just write a bash script.

I have yet to have to try the official Microsoft bash. The question is whether it is competitive with Cygwin for these purposes. i.e., does it carry all the other GNU tools with it.

I gave up using Windows when the Windows rot got too bad after about a year and I couldn't be bothered reinstalling. YMMV.

Scarbutt 1 day ago 1 reply      
There is this thing called 'virtual machines' and you can run a linux one in windows.
Ask HN: Are you a programmer with Parkinson's?
31 points by septerr  3 days ago   19 comments top 11
hanschagi 2 days ago 1 reply      
Having been diagnosed with Parkinson's 15 years ago at age 36, I today still have no mental limitations and I can concentrate the same way as I could before the diagnosis (as has been tested several times by neurologists). Among other tasks, I am still programming and leading development teams. It seems to me that programming is the ideal job for someone with Parkinson's since one can do it independent of the fact that some motoric skills such as walking are reduced or one's voice is not so crystal clear anymore. I learned from my own experience that an illness or handicap does not mean to drop out of the professional world, in contrary I made very good experiences with ill/handicapped colleagues and employees since they are usually very dedicated. The most important thing from my view is to address any and all issues related to such a condition in an open, respectful manner so that your ill colleague does not feel pressed to hide problems and ask for help concerning things like commuting to work etc. (sorry for my inelegant English, it is not my mother tongue).
trcollinson 3 days ago 1 reply      
I do not have Parkinson's but I have a form of Muscular Dystrophy which acts a lot like Parkinson's (to the point where a number of people get it confused). In some ways I have been quite lucky; mine began to show signs when I was born and has progressed slowly my entire life. It causes tremors, spasms in my hands and arms (and neck and eyes), and muscle weakness. Because of the progressive nature I don't really notice it. Your body is amazingly good at adapting to things even rather quickly progressing things.

Luckily we don't move a lot in this business. I might type slightly less quickly than most people (though I am actually quite a fast typist, I think it's slowing with age), and I might make more typos (thank goodness for IDE's which help correct things like that!) Ultimately I can code all day without much problem at all. Maybe other engineers are less tired at the end of the day, but who knows? I can only judge how I do based on my own experience.

The one big problem with Parkinson's is that it can have cognitive effects. I have read that it can cause dementia and other issues. This could obviously effect coding.

Anyway, I am glad to answer any questions.

hawkeyegirl 3 days ago 1 reply      
I was diagnosed about 5 years ago. Although programming isn't my primary job anymore, I still do it occasionally and did so for at least a couple of years acceptably. The main thing I noticed is that the ability to focus on complex logic or chains of events went seriously downhill so I had to do a better job of sketching out my algorithm before I started to code and making lists and diagrams for myself. I could no longer hold it all in my mind. Medication (Sinemet) does help somewhat with the ability to focus. Also finding times each day when you are clear from distractions -- this can be accomplished by setting aside time to deal with the distractions and time when you will not deal with them. I find I can focus for maybe an hour at most now, and then I need a break. This is manageable when you know about it and plan around it. As I've moved to more managerial type tasks, it actually works out ok. If you intend to stick to strict programming, I advocate being as organized as possible. I used to have an excellent memory and it's just not there anymore, but I mostly do just fine because I've learned to be diligent about creating a task for myself for everything I need to do and not relying on myself to remember it. Good luck!
drostie 3 days ago 1 reply      
One thing that you guys might be interested in: there has been some limited investigation into tandem cycling as a therapy for Parkinson's, though it's somewhat anecdotal. What research there is suggests that it's about being forced to cycle at 80-to-90 rpm at a lower resistance which still keeps your heart rate up, as opposed to cycling voluntarily at whatever pace you want while being coached to keep your heart rate at the same level: 5 people who were forced to cycle at the higher RPM showed dramatic improvements in symptoms, as opposed to 5 who set their own RPM with coaching.

Since those numbers are so low, there is right now a team at the Cleveland Clinic which recruiting for a much larger study (100 people total) that they're calling CYCLE: 40 people with PD will do forced exercise on a motorized stationary bike in the lab, 40 will do voluntary exercise on a normal stationary bike in the lab, and 20 will not be directed to exercise at all in the lab:


This is right now still in the recruiting stage so it probably has a couple years before it yields results; but if your friend can't live in Cleveland for a year, you could try to find another way to keep yourself at the 80-90 RPM levels, whether tandem biking with your friend or else by jury rigging a motor or perhaps even self-discipline.

peterjpierce 3 days ago 0 replies      
Great question! I am just starting to figure out adaptations to cope with multiple sclerosis (another neurological disease) that has stolen my ability to touch type. I'll be watching here for advice, too.
mathattack 3 days ago 0 replies      
I have a family member with Parkinson's. She was able to work in a thought-requiring field for almost 10 years. It's gotten much more treatable in recent years. You friend might still have to get used to working at 60-80% rather than 100% though. It doesn't go to 0, but it's not 100 either.
uuuuuu 1 day ago 0 replies      
I hate typing, so here's a short reply. I type less every year. 6 years from diagnosis. I seek work that is more looking at stuff to find the fault, and less data entry. Voice recognition is fine for dictation, but sux for editing code.Riding my bike hard every day makes a HUGE impact on my typing speed, so a decent bike commute is mandatory for me.Glad I'm in the software biz, and not a musician or surgeon. Never thought I'd say that!!!
jbandela1 3 days ago 0 replies      
One thing I would do is make sure that your friend has been evaluated by a neurologist who specializes in movement disorders and not just a general neurologist. In recent years we have gained a lot of knowledge about specific neural pathways.
michalxnet 3 days ago 1 reply      
I suggest you to watch this talk on this years ng-conf.


radnam 3 days ago 0 replies      
There are nuero rehab practices and physical therapists who specialized in this area. I would start by having a conversation with one of these folks.
totoykhu4213 21 hours ago 0 replies      
full upgradesscore 100000
Ask HN: What do you want to unlearn or relearn in 2016?
11 points by 8sigma  2 days ago   1 comment top
Ask HN: Did you shift from technical to management/executive roles?
29 points by servlate  4 days ago   22 comments top 13
manyxcxi 3 days ago 0 replies      
The biggest thing that I'd say about shifting from a developer to a manager is that you better like dealing with people, if you don't you will be burned out very quickly and you'll be a sub-par manager.

You're going to be responsible for helping your subordinates get their stuff done and progress their careers and you better be the kind of person who can put others first or you're going to begin losing people, which only makes your life more difficult.

Firing people really does suck, but laying people off is gut wrenching. If it's a surprise to them that they're getting fired for not cutting it, that's a sign you weren't being proactive enough with the feedback (or that they're completely clueless which does happen). For me, when someone isn't cutting it and they're teetering on the edge I have a very blunt conversation letting them know they're on their last chance and exactly what the problems are. Usually by that point it's the 3rd or 4th time we're having the same problem and they're all but out the door, but I've had people miraculously turn it around. If you have any empathy this will be the worst part of your job.

Resourcing if that's something your company does will take up the majority of your time if the company is busy- everyone fights for the 'rockstars' and you'll need to figure out how to match your people with projects that suit their strengths AND interests.

You've got to be putting in the 1:1 time to know where your people are interested in growing their skills out and identifying what their strengths are. You've got to be able to figure out how to put people on projects that might stretch their comfort zone and also be able to support them so that they don't fail and keep an interest.

mindcrash 3 days ago 0 replies      
I hope financial growth is not the only thing that drives your career, because if it is you won't really get nourishment out if it. And a happy career is a good career.

That said, if you are really considering a management role -- not because it pays better, but mainly because the job excites you and you love the challenge to keep both your engineers and your boss happy -- Michael Lopp's blog [0] and book "Managing Humans" [1] are certainly some things which you want to read.

I personally also love Meri Williams' blog, which also contains all her talks on managing geeks. In my personal opinion both are the kind of people you would like to have to run your team(s), and their insights on how to properly manage people are invaluable.

[0] http://randsinrepose.com/

[1] http://www.managinghumans.com/

[2] http://blog.geekmanager.co.uk/

shermozle 3 days ago 0 replies      
If you love writing code, you're unlikely to love being a manager. It means you won't be writing code. Simple as that.

That said, if you also love getting amazing things done and being the guy who clears the path for your guys to shine, it's awesome.

Your subordinates will LOVE having a manager who actually gets what you do. But can you explain their perspective and advocate for them to non-technical managers? You need to do that.

yitchelle 3 days ago 0 replies      
Have you consider being higher up the technical career path, technical team lead (You will be in demand if you excel at this) or Principal software enigneer comes to mind immediately. They will be other paths.

Career paths of these sort are usually only present in large multi-billion corp, not so much in startups.

JSeymourATL 3 days ago 0 replies      
> I wonder if this is just a 'grass is greener' feeling...

There may be a path where you can combine your intrinsic motivators (love writing code) with the very real extrinsic motivator of a great salary.

Big Data Engineers are getting $183K > http://www.forbes.com/sites/louiscolumbus/2016/02/10/finding...

The lesson for ageing engineers-- always be on the leading edge of the tech skills demand curve.

Also, learn the art of subtle self-promotion. In other words, share your work with the community. Visibility helps keep you in demand.

dfcowell 3 days ago 1 reply      
I've gone from programming to owner of a fledging digital agency and I'm structuring the organisation so that my role as CEO includes sufficient time to be technical mentor to my developers.

So far it is incredibly rewarding. I'm spending less time writing code for projects and more time writing code in group sessions with my team passing on skills. Seeing the team grow and develop is amazing.

I don't know if this approach fits into the traditional management role but if you can make it work, being a multiplying force is tremendously rewarding.

From a monetary perspective I'm doing better than I did so a programmer, but the entrepreneurial path requires a lot of non software related skills and is much higher risk.

dpweb 4 days ago 1 reply      
In going from dev to manager, I'd say:

Knowing salaries - good

Respect/status/more say in the org - good

Chance to mentor and help your staff - good

Having to field complaints about your staff - not so good

Firing people - not so good

The different skillsets you use - varies I think, some technical people don't like the managerial tasks

tixocloud 3 days ago 1 reply      
I made the transition from engineer to strategy consulting to manager on the business side of things so hopefully my commentary will give you a different perspective.

And I know how you feel as well because I was there. I thought I was limited down the Software Engineer path. The reason why I stepped into the business side of things is to build my skillsets in case I wanted to start my own company.

As a Manager, what most folks have mentioned is true whether you're an Engineering Manager or a Business Manager - you need to always be on top of things making sure that everything is running smoothly and to address the issues when things aren't smooth. You'll be solving problems related to humans and time (i.e. allocating resources, project planning, budgetary constraints) as opposed to engineering problems.

You'll have to put on your sales person hat to sell ideas on why things can and cannot be done (i.e. why can't we complete XY feature in 2 weeks? Why adding more developers won't speed up the project? Why we need an additional server for development?)

If you're further up the chain in management, you'll have to put on your strategic hat to understand how your department sizes up against the other department. You'll also be the first person the CEO contacts when things don't go right. You'll be expected to weigh in on all things tech related and give recommendations on what the business should and shouldn't do from a tech perspective.

realtarget 3 days ago 0 replies      
Just a point to keep in mind.

If you're an engineer your need to stay up to date with the technical evolution: coding standards, frameworks, languages & trends.

If you switch into a management role, you need to be strictly organized (accuracy, punctuality, reliability), a good salesman for binding and motivating the project stakeholders AND all the engineering skills mentioned above.

I've switched into management 8 years ago and (even if it does not sound really nice) i need to know everything better than my envolved colleagues to decide if they're on track.

burp3141 3 days ago 0 replies      
I switched from 10 years of software development to a technical product manager role four years ago. When I made the switch, I had the same concerns you write about.

The switch was driven by four reasons -

1. Financial growth and social status.

2. More meaningful impact by picking what was to be developed rather than being a cog in the wheel.

3. Desire to learn new skills. To prove to myself that I could do it if I wanted to.

4. Burn out on software development on the same product and company for 10 years.

Of these - the financial growth has not materialized but all the others have been validated. Searching on glassdoor and other salary sites, I frequently find developers commanding higher salaries than managers.

I've found that as a manager, you are still coding. But you are coding with people and organizations rather than Python. The methods and interfaces aren't well documented. The object structure has evolved through acquisitions and bolt-ons and VPs staking out claims. I rely on the org chart as much as I used to rely on architecture diagrams. The build and release cycles are slow and the lack of daily measurable accomplishments are hard to deal with at first. My predictable schedule and zero inbox days are over. This sounds exciting but on some days the multi-tasking and lack of flow is horrendous. I used to be only able to cook a single dish at a time but now I can do multiple dishes in parallel - one of my learned skills that transferred to the kitchen.To be sure, it gets better. You get better. A wonderful side effect is that my communication skills have vastly improved. My understanding of how organizations work and how to align people and objectives has increased.

Quite frequently, I wonder if i made the right choice. Whether I should go back to being a software developer. Whether the grass was greener back there. The answer is different every month. Sometimes I'm frustrated with organizations and people and other days the difficulty of setting up a functional development environment or debugging a for loop for two hours seems like a thing for crazy people to be doing.

As I muddled my way through my career options at that point - the most useful tool for me was the resonant quote - "Twenty years from now you will be more disappointed by the things that you didn't do than by the ones you did do. So throw off the bowlines. Sail away from the safe harbor. Catch the trade winds in your sails. Explore. Dream. Discover."

That - and I knew I could get back to software development whenever I wanted. In UX terms, switching is a recoverable action.

loumf 3 days ago 0 replies      
I went into management/executive roles AND kept up my development skills. Now, I'm back to being 100% a dev.

I really doubt I would have earned what I did as a manager if I didn't love doing the job (and therefore spent a lot of time trying to get better at it).

The way I got started was in helping my manager with some of his tasks (because I was really interested in learning about it). When he left, he recommended me to fill his position.

khedoros 3 days ago 0 replies      
I've known developers who went to management. Some of them went because they liked the idea, some went because they were asked to step up to fill a vacated role. Some have stayed in management, but a lot end up going back to dev eventually. I think it all depends on your attitude and personality.
Wonnk13 3 days ago 0 replies      
I'm only 27, but I think this is a case of great people have great salaries. It's that simple. Do partners at McKinsey or MDs at GS make a shitload of money? yes. But they were good enough to make the cut time and again to be promoted above their peer group. Plenty of rockstar individual contributors are paid above average, because they've demonstrated a disproportionately high value add to the organization.
Ask HN: S-expression based vector graphics editor?
6 points by kasbah  2 days ago   2 comments top
azeirah 2 days ago 1 reply      
Ask HN: What do you strive for when you are programming?
9 points by hoodoof  2 days ago   16 comments top 11
DyslexicAtheist 2 days ago 2 replies      
"flow", which is a concept / phenomenon studied by Mihaly Csikszentmihalyi. It is not just limited to software engineering:http://blog.valbonne-consulting.com/2014/09/24/flow-the-addi...
angersock 2 days ago 2 replies      
To drive developers before me, and to hear the lamentations of their users--that is what is best in life.
greydius 2 days ago 1 reply      
My highest priority is writing code that is maintainable, so I strive for modularity, appropriate abstractions, and comprehensive tests.
r2dnb 1 day ago 0 replies      
I strive for simplicity: Producing a maintainable and extendable solution being the simplest possible solution to the problem.

Simple means both easy to understand APIs, healthy internals and judicious use of abstractions (no overkill).

Producing a complex solution for a complex problem is by my standards mediocre engineering.

When you focus on simplicity everything follows (and your technical skills skyrocket because it requires to be extremely skilled to make things simple).

baccheion 1 day ago 0 replies      
I enjoy coming up with clean and elegant solutions. I enjoy solving the problem, and producing code that works, works well, is fast, and is therapeutic to read. I like everything separated out and grouped as appropriate, I like when there isn't any unnecessary code or complexity, and I like when the problem is solved completely, precisely, and without any compromises.

Clear, clean (simple, compact, readable, etc, while still being correct and complete), elegant, efficient, well-formatted, properly separated and grouped, optimal (no unnecessary or premature optimizations), etc.

siscia 1 day ago 0 replies      
It depends on whom you write the code for and why.

If I write code so that other people can use it I strive for coming out with the best API possible (for whatever definition of "best" makes sense for the project) if I write for experiment or fun I just want to get thing done and see if it works so I write in the most fastest way possible, if there is some change that I need to work again with the code I try to write it in the most maintainable way possible.

afarrell 1 day ago 0 replies      
Clarity, both on my understanding of the problem and in my understanding of my tools.

Simplicity and readability of my code, my tests, and the notes that accompany my code. That way someone (including my future self) can understand the system.

And writing tests first. I've become convinced that there are very very few cases when I can afford the luxury of not insisting on writing a test first.

GFK_of_xmaspast 2 days ago 0 replies      
A paycheck.
probinso 1 day ago 0 replies      
Minimal branching Factor and then fewest lines of code finally modularity
willcate 2 days ago 0 replies      
As few mistakes as possible.
bbcbasic 2 days ago 0 replies      
Good abstractions
Ask HN: Hit-and-run during an Uber ride
23 points by susiemielekim  4 days ago   17 comments top 10
otterley 3 days ago 0 replies      
If you've been injured, call an accident (tort) lawyer. Uber will respond to a legal inquiry much more quickly and seriously than to a customer service inquiry.

Most tort lawyers work on contingency, so you usually won't have to pay anything up front, though they will demand 30-50% of any payout you receive.

taxicabjesus 3 days ago 1 reply      
Get an attorney. There are plenty who specialize in auto injuries. As otterley said, many injury lawyers work on contingency. Furthermore, many will help you get medical attention while you're waiting for Uber to cough up money to pay your bills.

One of my taxi passengers was going to a Chiropractor. She'd lost her car in a car wreck caused by the other driver. The chiropractor paid her taxi fare, and billed the passenger's attorney for this and their fee. The passenger was previously not a Chiropractic fan, but the urgent care she'd gone to first basically ripped her off by charging lots of money for anti-inflammatory medication (which didn't help at all). She was feeling much better with regular treatments from her new Chiropractor.

(I personally have been to lots of Chiropractors. Some were pretty good, some were mediocre. Eventually I found some manual therapy systems that are more gentle and reliable. As one of the doctors I'd visited said, "all some people need is any kind of touch, which is why they love their massage therapist...")

(I bet Uber's founders were so annoyed when they realized they had to hire people to provide customer service. The transportation company I used to drive for has always had people to take complaints, and to deal with problems.)

mtmail 4 days ago 1 reply      
If your body is still hurting after one week, well, go see a doctor. I can imagine everybody you told the story so far said the same.

Also get health insurance. Not the answer you're looking for but in the US medical costs can ruin your life.

Symbiote 3 days ago 1 reply      
> It's been hurting more but I currently don't have an insurance (life of an early stage startup founder...)

European here. I thought "Obamacare" was supposed to prevent this?

Otherwise, it seems crazy for anyone to take the risk of founding a startup, and not being able to afford insurance.

(I know people that avoid going to the doctor when they should, me included sometimes, but it's nothing to do with money.)

davismwfl 3 days ago 0 replies      
Go see a doctor, you not having insurance won't affect them seeing you or billing the auto insurance for your care. Also, depending on what state you are in, remember some states limit the amount of time you have to make a claim. In my state it is 14 days, after which you forfeit your right to make a medical or injury claim. There are probably some ways around it, but why mess with it. Even if nothing comes of this all and you just need some time to heal, at least you have protected your rights in case there is something more serious that is found later.

Other option, go to a personal injury attorney (I know but they do exist for a reason). A reputable PI Attorney will help you protect yourself, get seen by a physician faster if you need help there, and will file all the paperwork etc for you. They get paid by going after the insurance, so just expect that, and they will get a response, not the brush off.

Artimus 3 days ago 0 replies      
I got into a minor car accident (as a passenger) on an Uber ride in Seattle a few months ago. No injuries, just a bit jarring for me and an utterly destroyed bumper for the driver.

Someone from Uber called by phone the next day and were very willing to discuss coverage for any injuries. They asked me to confirm multiple times that I wasn't injured before ending the call.

Not trying to be a shill: I assumed I'd never hear from Uber unless I went after them with a celebrity twitter account or an army of lawyers.

Hopefully it's just an oversight that your incident has fallen through the cracks and you can get ahold of someone soon. I just wanted to point out that there should be human beings reviewing any reports, at least as of a couple months ago.

lsiebert 4 days ago 0 replies      
I'd try the uber facebook page. They usually respond within the hour. https://www.facebook.com/uber/?fref=ts
HillRat 3 days ago 0 replies      
Report the accident directly to the James River Insurance Company rather than going through Uber. You'll have better response going directly to the insurer.
ricardobeat 3 days ago 1 reply      
When riding a taxi, is it normal to expect that the taxi operator covers health costs for any accidents not caused by their driver?
ben_jones 4 days ago 1 reply      
When I see stories like this trending on Reddit, Twitter, or Hacker news, am I too paranoid in thinking that just maybe some of them are marketing plays meant to manipulate the reader into siding with one company or the other? It would be so easy for them to do this.
Ask HN: How do you handle large Python projects?
68 points by nthompson  2 days ago   48 comments top 19
justinsaccount 2 days ago 2 replies      
Personally I focus on not creating large projects. I make as many small individually tested libraries as I can and assemble them in smaller projects.

Not exactly the 'microservices' approach, but similar ideas.

One of the most useful things related to this is to focus on interface design. It's easy to scrap a bad implementation and re-implement the same interface later, it's harder to fix a bad interface that you're using all over the place. Making some implementations pluggable up-front will also make it easier to swap things out later.

Another thing that ended up causing the most pain in the long run was building in too much functionality directly instead of leaving things up to plugins. Plugins can more easily be enabled or disabled to compose specific functionality. The alternative is tons of code and tons of configuration options to handle every little corner case.

As far as lower level tools, the 'coverage' tool integrated with your test suite is a must have.

YZF 2 days ago 1 reply      
I worked on a million+ line Python project, here are some observations:

* No duck typing

* Document all input/output parameters to functions.

* Avoid fancy meta-progamming.

* Try to break it up into smaller pieces with well defined interfaces that are ideally not pythonic. Think about the interfaces as something you'd potentially want other programming languages to be able to talk to.

* Don't use eval/exec or more generally don't pass Python code around.

In general as the scope of a module/unit gets larger you want to stick with simpler stuff. If the module/unit is small, the interface is small, and there are good tests around it, you can do anything you want inside that smaller bit.

[EDIT: These comments are mostly Python specific. On top of that you'd apply what you would in any other language, organize your code properly, consistent style throughout which in Python includes following the relevant standards PEP8, doing code reviews, tests etc. etc.]

dagss 2 days ago 1 reply      
I work on a 100 KLOC Python project and have written a fair bit of C++ too.

We must have different definitions of "all hell from breaking loose", since none of those tools would help me avoid that in C++ at all. Hell has broken loose when you have an unmaintainable ball of mud, which IMO has little to do with what those tools help with.

But for those tools:

Many of them you just don't need in Python due to language differences. You need to make sure all branches of your code are somehow tested, but memory management is easier with (mandatory) reference counting, you don't have pointers that are not valid, and so on.

As for performance profiles, well, since you're thinking of using Python, you already decided IO is your bottleneck and not CPU. The moment you find yourself thinking "I should profile this code and speed it up" is the moment you consider using another language for the job.

sametmax 2 days ago 1 reply      
First, large Python projects are much more manageable than C++ projects, even without any tools. It's way easier to debug, much less verbose, you have 100 less possible errors while stuff are easy to refactor.

Starting from here, unit tests will take you a long way. Tox + pytest + coverage.py is the defactor standard for tests now, and will give you peace of mind when editing your code. Tox can run flake8 as well so it's often done.

After that everything is a luxery. You can use mypy to get static typing, you can make sure to have a very good editor checking stuff for you such as PyCharm or Sublime Text + anaconda. You can use CI with something like Travis or buildbot.

I usually make sure to have a .editorconfig file and a clear style convention to easy team work. And I like to use sphinx to write the doc of the project, which you really, really need to do. This include docstring for modules, classes and functions (with Google style for me), comments, but also some manual rst files.

Last, but not least, experience matters a lot. You learn how to organize stuff in your dir tree. I like to split any file bigger than 500 lignes in Python because it's such an expressive language. Having one module for exceptions. Having proper unicode handling from the start. Etc.

econner 2 days ago 1 reply      
The Google Python style guide might be a good start: https://google.github.io/styleguide/pyguide.html

I've also heard that at Google they require assert isinstance for every parameter of every function.

New Relic has very good tools for profiling python code if you're running a service.

metakermit 2 days ago 0 replies      
I guess it's worth taking a look at some more complex open source Python projects. I think pandas [1] is a pretty good example, with a relatively large amount of Python and Cython code.

They start off with a pretty decent amount of unit tests (84% coverage) and make sure it's visible to developers using:

- Travis [2] (has to pass on pull requests too before contributions are accepted)

- Coverage [3]

There's also Code Climate [4] for some more introspection.

[1]: https://github.com/pydata/pandas

[2]: https://travis-ci.org

[3]: https://codecov.io/

[4]: https://codeclimate.com/

sitkack 2 days ago 3 replies      
1) don't use objects, use bare methods and don't mutate input data

2) `from collections import namedtuple` reinforces 1

3) nice lighweight tests, py.test or nose

4) integration tests so you can actually refactor w/o having to recode 100 unit tests

5) write as little code as possible

INTPenis 2 days ago 1 reply      
I've only ever taken over a large Python project, never written it from scratch, and I don't have many years under my belt as a python coder.

But my $.02: Documentation, python code itself is easy to read but if you have a large project, broken into many small code bases for libraries, services and front ends then you need solid documentation. Not only text but also diagrams showing how all the parts work together. Not sure if they're called diagrams in english but it's the stuff you make in MS Visio or Draw.io.

hacker_9 2 days ago 3 replies      
I've recently written a Blender addon using Python that came to just over 1000 LOC. Not big at all and yet already I was running into problems that are just non existent in static languages. I couldn't refactor variable names and had to manually replace the text which was very error prone, I had no help from the language about whether I had referenced a variable by the right name as it would just create a new one, no 'goto defintion' and instead I was reduced to scrolling or ctrl+F, no braces to tell me where scope starts and ends (which you wouldn't think mattered, but only relying on indentation actually gets quite messy), and no contextual knowledge of the blender APIs unless I knew what to Google and it often came down to someone asking the same question on stackexchange.

The only way I could manage it was to write tiny functions, so I could literally eyeball the scope and keep all the details in my short term memory. I would not recommend using this language for larger projects.

kmike84 2 days ago 0 replies      
* Write tests and run then on CI. Try to figure out how to write tests with a least amount of pain - you'll need lots of them. Use py.test or a similar framework. Doctests are great, but it takes some time to learn how to use them efficiently and when they're not appropriate.

* Measure test coverage to be aware of what is not tested, but don't just pursue exact coverage % number - doing that leads to many integration tests and a few unit tests. Both kind of tests is important.

* Extract libraries from the main code, to make the main project smaller; write docs and tests for these libraries. Docs are important for these libraries. Try hard to maintain boundaries - a library should have a single purpose, and it shouldn't be tied to the rest of the code. If you find writing docs complicated them maybe the library does too much, or maybe its API is too hard to use. Fix that.

* Don't write all code yourselves, consider using open-source libraries. But don't use open-source libraries if you're not comfortable with contributing to them - there will be issues (like in any code). If the library you're going to use is not an industry standard read its source; if it is "ah, yeah, this is almost how I'd written that" use it, try to find another library or write your own otherwise.

I'd say the trick to handle large Python projects is to resist making them large. Don't be sloppy in code organization, be pedantic about which part "knows" about which part, extract non-specific utilities to libraries. Often projects can be kept under 20-50K lines of code after a few years of development by a small team if a team tries to maintain code quality and moves non-specific features to external libraries.

flake8 and alike linters may help with consistency; it is important, but not the main problems by far. The main problem to fight is non-locality: if one can reason about a piece of code just by looking at it, without checking lots of other components, the overall project size doesn't matter much.

ludwigvan 2 days ago 0 replies      
In the words of Robert Love, "Man, I cannot imagine writing let alone maintaining a large software stack in Python."[0]

Unfortunately, it is very hard and brittle.

You definitely need rigorous testing to keep it all in one place, but I would steer away from Python for a large project.

Also take a look at mypy or some other sort of typing to see if it can aid in a large project. [1]

[0] https://www.quora.com/Why-does-Google-prefer-the-Java-stack-...

[1] http://code.tutsplus.com/tutorials/python-3-type-hints-and-s...

devnonymous 2 days ago 0 replies      
* write unit tests (I find nosetests or pytest as the test runners most useful and mock incredibly helpful).

* run unit tests and integration tests in an automated manner for every commit. (a.k.a use tox, jenkins or somesuch...).

* Depending on the software you are creating deploy a chaos monkey[1] kinda approach for disaster/HA testing.

* Read up on good Python practices :



shuzchen 2 days ago 2 replies      
It seems you're looking for tools to manage code quality. In that case I highly recommend prospector (http://prospector.landscape.io/en/master/). It wraps a whole bunch of tools in one interface. I suggest paying close attention to any code that scores high on McCabe code complexity.
sciurus 2 days ago 0 replies      
You can find an overview of some tools in https://www.slideshare.net/mobile/jamdatadude/python-static-...
syngrog66 2 days ago 0 replies      
doing mental analysis of the code you write goes a long way. know the impact of each change. know your language. have a correct model in your head of how software behaves at runtime, especially on a given OS/hw combination. this has the advantage of being language-agnostic and doesnt require tools. if you ALSO have tools, great. but in many cases you don't need them, at least if the right person is doing the right kind of thinking, at design/code/test time.
nice_byte 2 days ago 0 replies      
My advice would be to avoid developing large projects in Python, or any other language without static typing.
dukoid 2 days ago 0 replies      
Simple: Don't use Python (or any other untyped language) :)
dochtman 2 days ago 0 replies      
Lots (and I mean, lots!) of automated tests, until you have 95%+ coverage.
carapace 2 days ago 0 replies      
Twenty or more years of experience.


Am I wrong?

Ask HN: What's the biggest risk you took in your career that paid off?
95 points by ruffrey  2 days ago   80 comments top 30
kinai 2 days ago 5 replies      
Quit my "dream job", sold/gave away everything I owned, just hopped on a plane to a new continent (Wednesday last day at work, Thursday morning flight went) and see how it goes. First week I sat mostly alone around at some beach, contemplating about what I had done and whether it was the stupidest thing ever. It was a personal challenge. Best decision of my life. That was nearly 3 years ago now.

One can only grow if faced with challenges. I learned a lot about myself and life.

foxhop 2 days ago 2 replies      
Deciding to finally start demanding bigger raises from my employers by firing them and joining new companies.
benjohnson 2 days ago 1 reply      
Raising my rates.

I was too timid to rais rates on old clients, so I gave new clients a higher rate. After a year or so, about 20% of our customers were paying the higher rate and that gave me the courage to up the rate on the old clients.

Nobody cared - a few customers told me it was about time I raised my rates.

tyre 2 days ago 0 replies      
(In reverse chronological order)

1) Quitting ZenPayroll. Ended up leaving what are now millions of dollars of (paper money and unsellable) shares on the table, at a time when the company was clearly taking off. Now building a values-focused, mission driven company the right way and loving every minute of it.

2) Quitting LivingSocial after 11 months when I realized that they weren't what they sold me on. The pitch was building back-office tools for SMBs, but in the end they never did the right thing for SMBs if it wasn't also in their interest.

3) Dropping out of college as a philosophy major, believing I could learn to program. Joined LivingSocial as an aspiring engineer, which turned out to be a great place to start. Great exposure to the Ruby community, experience with hard things (scale, caching, business problems creeping into the product.)

As you may notice, my biggest fear is regretting wasted time. While I tried to change each one of those places to be what I knew they could be, until you start your own company you must (rightfully) defer to what others decide is "right". I've realized I have an incredibly high bar for making difficult decisions, which isn't realistic to "manage up."

saryant 2 days ago 1 reply      
Right out of college I made the huge mistake of joining one of the big consulting companies. Six months in I hated it so I just quit.

At the time I was living in Houston, where I didn't have much of a network, so I packed up my stuff and moved back to San Antonio. I attended college in San Antonio and at least had some contacts there, mostly revolving around the coworking center Geekdom.

No job but I had enough savings to float myself for a few months.

A friend of mine from there put me in touch with a startup he had invested inthey were still in Techstars and he knew they needed an engineer. I contracted with them for a bit and joined up full time after they graduated and raised a seed round. Arguably they risk was theirs as their first engineering hire was a fresh dev who'd never had a full time programming job. They moved to Boulder after the program and six months later I followed.

Now I'm at Twitter, because I quit a job I hated and bet that my contacts would pay off.

ColCh 2 days ago 0 replies      
Taking dive into fullstack javascript 2 years before!

I picked express, react (v0.9) and sequelize. Webpack for bundling (it was undocumented that time)It was my first experience with backend JS and react. For service I used docker and fig (now it's docker-compose)

Of course, I failed this project after 1.5 years of dev (it was pretty huge, but this technical debt destroyed all that I have coded). Then I created this project from scratch on Magento (it was just online shop) in about 4 months.

What I learned? A BUNCH of things related to TDD (system tests, unit tests, mocking), JS ES6, program architecture at overall, SQL (things like assotiations, migrations, SQL performance optimizing), about caching technique... This list is pretty huge, I learned in that time 80% of all I know!

That was about positive moments. Now about negative. I experienced impostor syndrome (by the way, I'm feeling it right now and this feeling is not leaving me). Also I experienced burnout 3 times (apathy, lack of appetite, insomnia). This thing was really destroying....

I'm happy I've failed this project! I learned a lot of things. Now I really become full-stack JS engineer. I've got the power :)

And First of all, I started to value my time, my energy and my mental and physical health. Now I place this things in first place, they really matter! I'm 21 years old, don't take me like I'm sick or something (Like all people on 20s, I'm filled with energy). I just found the price... the price of myself.

20years 2 days ago 3 replies      
Took the plunge and left a captive position to freelance. A year into freelancing (in 2006), I developed my own SaaS service and grew it to $80k monthly revenue. Did really well until the market crashed in 2008. Built a few other SaaS services since then with moderate success.

Also started a small advertising agency in 2013 and grew that to $50k monthly revenue. After 3 years of doing that, I realized that scaling an ad agency was really hard. There is a lot of over-head, high churn and I didn't enjoy it.

I am now back to developing a mobile app SaaS service and an educational SaaS service.

To sum it up - my biggest risk that paid off was starting my own business.

imaginenore 2 days ago 0 replies      
Changing jobs often. Working at the same place for more than 2 years rarely pays off, even you get glowing reviews and everyone loves you - it doesn't convert to the dollars. You might get a 10% raise, but you will not get +40%. Getting comfortable costs you tens of thousands of dollars.
JackMorgan 2 days ago 3 replies      
Two big risks. One, I left middle school teaching career to work as an admissions counselor at my wife's university so we could score free tuition. When I got fired from that, I applied for a programming job at the same university. I shouldn't have gotten that job, I was completely unskilled. Instead they hired me, and so began the most rewarding work of my life!
alasdair_ 2 days ago 0 replies      
Leaving a stable job and many friendships and moving to a new city without knowing more than one person.

I did this when I moved to London (from Scotland) and then to Seattle and then the the Bay area.

It was worth it every time but it's scary too, especially when there was no backup plan - if things didn't work out in London, I had no ability to get back to Scotland.

rfc 1 day ago 0 replies      
I have two: quitting college at the height of the recession (08') and switching jobs a couple of times in a few years to increase my paycheck 4x.

I hustled my ass off, worked super manual jobs during the day, focused on networking and skill building at night. Landed a job in tech and continued to study anything and everything I could. Few years later, in a upper management role. Best decision ever. I'm learning so much, getting to work on bleeding edge tech, and getting compensated well. That said, a couple sentences explaining this path doesn't due justice to how hard it was to get where I'm at. I didn't get lucky and this path isn't for everyone.

trevmckendrick 2 days ago 1 reply      
Quit my job as an accountant at a big firm with no next job or prospects lined up. Ended up creating a successful iPhone Bible app.
MWil 2 days ago 0 replies      
Graduating law school at peak of last recession - worst employment prospects in generations, not even close to top of class, only had one summer's worth experience with public sector (1 month each w/ state DOJ and legislature).

Spent last year in school designing something akin to Casetext, then they came out of Summer '13 batch while I was studying for the bar. Decided to cheer them on rather than continue to build my application since I just recently began self-teaching JS (they're currently like 85/90% parity with my idea, was closer to 60% when they first came out - go Casetext!)

Joined up with AmeriCorps for 12k/year providing free legal assistance to homeless/disabled vets (VA bens, discharge upgrades, clearing criminal records). Had applied to legislature job paying 60k. Fell in love with my vet work. Legislature job calls me up 4 months later into my AmeriCorps service to interview (I'm 90% sure I had this in the bag based on the previous summer's final evaluation).

Turned down interview, stuck it out with low pay for another 6 months and then got hired on for (still lower than Legislature) salaried position.

1.5 years later - for my org, I'm in charge of all vet work for the whole state (4th largest vet population in US), I supervise the veteran law program at a top 15 lawschool. I'm "unofficially" in charge of whole state bar association of vet law attorneys (we just recently formed as an entity with 100+ members).

I get to work my own hours, I get to choose my own cases. I didn't even know this was an area of the law I could make a career out of - not a vet myself.

Job satisfaction > pay (plus it'll come in due time)

gk1 2 days ago 0 replies      
Quitting a stable job seems to be a recurring theme here.

I, too, quit a cushy and stable engineering job with the Government to join a marketing agency. Then I quit that a year later, with nothing else lined up.

My only plan was to "consult," but I didn't know exactly what I would consult on and how I would find clients.

I went through all of my savings and maxed out a credit card (0% introductory rate) when, in the nick of time, things started falling into place.

It's three years later now. I'm very happy with my career and the lifestyle I'm able to afford thanks to my income, which is 2x greater than my Gov't and agency salaries combined.

Wasn't easy, though. I wrote about this at greater length here: http://www.gkogan.co/blog/how-i-learned-to-get-consulting-le...

fnaticshank 2 days ago 1 reply      
Just after my undergrad college I joined a startup hoping to learn and grow exponentially as a developer. The first day of work my girlfriend came to drop me off and she said, "you are changing your job in next 6 months". And 2 months working in I realized she was right, it was a dying startup with no future. I kept working hoping I would induce a change and inspire the team. Six months in I hated it so much and I got so frustrated that I quit.

The first week after quiting I just spent time questioning my decision. But next couple of weeks I spent time with myself and gained a better perspective about life and career.

Its been 2.5 months now since I quit. I have saved enough to keep me floating. And now I am preparing to get into Amazon. Let's see if I nail it.

It was a rightful decision that I took. One thing I did learn is "How not to run a startup".

aprdm 1 day ago 0 replies      
I've quit a promising career in embedded systems (senior engineer at one of the biggest companies with all perks), rented my flat and travelled across the globe to work in a startup as a junior web dev with python 2 years ago.

Changed my life in all aspects. Today I am in yet another country and enjoying my career so much more.

guybrushT 2 days ago 1 reply      
Quit a highly paid job with a big company (my decision). Joined a smaller company (my decision). Found great people to work with (luck) who are humble, smart and willing to teach - these days I tap dance to work.
dhruvkar 2 days ago 1 reply      
Not the biggest risk (as I didn't have much to lose), but right after my undergrad I took a job in China with a young, 3rd party Quality Control service company, getting paid about $1200/month + food/housing. I learned the ins and outs of factory work in China, over a vast number of industries. The owner invested in his foreign employees learning Mandarin. This year and half experience paid off since my work now involves buying from China heavily, and I have insight into this process.
hijinks 1 day ago 0 replies      
my biggest by far was my first job out of college. I had a lot of Linux experience and applied for a giant ISP. This was in 2001 so after the dotcom bust.

I interviewed there on a Friday. The manager comes in last and tells me everyone liked me and he was going to offer me a role as a mid-level Solaris admin. I'd skip over the whole route of help desk->jr admin route and go right into a mid-level role. The only catch was he told me the company was filing for chapter 11 bankruptcy on Monday.

I took the job hoping I could last there a year. I somehow made it through 2 rounds of layoffs and was there a year where I moved to another small company as like the whole IT shop that took me to the next level.

bjelkeman-again 2 days ago 1 reply      
Quit my job in a company I was co-owner of, which wasn't going anywhere interesting. Moved country. Took a sabbatical. Studied environmental science at the university. Met a great person at a conference. Started an open source organisation together. Now running open source based data services in more than a dozen African and Asian countries tracking critical infrastructure, among other things.
bobwaycott 2 days ago 0 replies      
One morning, I woke up with the realization I hated everything about what I was doing with my life. I tossed on a pair of jeans, a white t-shirt, and flip flops, then went into work to quit (I had been in sales for 3.5 years). As soon as my boss saw me, he knew what was up. We sat and talked for a bit, but it was mostly a formality.

I had no plan. I had no replacement job lined up. I had little in savings. I struggled for the next year. I fucked up and lost a lot. But I forcibly put myself on a path to do something I loved, and invest the time necessary be good at it. This opened up a world in which I don't hate my work or life, rarely have a bad day, and typically work no more than half the year.

It was the best decision I ever made, and I've never been happier.

vox_mollis 2 days ago 1 reply      
Dropped out of college in order to pursue my own company.
Bahamut 2 days ago 0 replies      
Leaving a job I liked in DC and a lot of friends in the area for the world of Bay Area startups and moving to the Valley. Two years later, I am now a much better developer, and happier person with a lot more control over my future.
Walkman 2 days ago 1 reply      
Learned Python in a country where it's not very popular at all. Now I get good salary for the same reason :) and I have literally no competition when applying for a job.
tajen 2 days ago 1 reply      
I left from Europe to Australia because I drank before going to work (Java dev). Came back 3 years later not only with 7x savings because the startup had a successful exit, but also with a lifetime more of experience, I've learnt how startups worked (and Scala and product marketing and open source and HN, Howdy HN!) and I came back to successfully create mine, and I now own my job. Oh and it's a good step towards product management which I love.
snarfy 2 days ago 1 reply      
I relocated to a tech centric part of the country. The cost of living is higher, but so are salaries and also the quality of life.
sly010 2 days ago 1 reply      
I would also like to know what was the biggest risk you took in your career that you ended up regretting?
spatten 2 days ago 0 replies      
I wrote this a while ago answering the exact same question:


velox_io 2 days ago 0 replies      
While it hasn't 'paid off', yet. I'm much happier working on a startup than I was consulting. Don't underestimate fulfilment over money.
unixhero 2 days ago 0 replies      
Saying no to joining an arms and weapons producer.

2 months later I got hired by a AAA firm.

Ask HN: Why exactly do you dislike Oculus?
7 points by max_  2 days ago   12 comments top 6
danielvf 2 days ago 1 reply      
First of all, the DK1 and DK2 were huge andvances in consumer VR. They also let developers play with VR for the first time, and start learning the rules of the new medium.

But we are here critize, not to praise.

My ongoing gripe with the DK2 was the Occulus Drivers and API constantly breaking. Every couple of months they would release a new driver that was incompatible with previous drivers, and games programmed to work with previous drivers. This meant that you often were faced with having to upgrade to play a new game and forever losing access to your favorite old games. I finally just quit upgrading -and thus quit buying new VR games.

It also used to sometimes require an hour of work to get a game to run correctly.

Occulus has fixed both of those with the Cv1 release. So why am I waiting for a Vive, rather than buying a CV1?

Occulus really, really wants to own VR. You can't launch a game without an Internet connection. The TOS allows Occulus to record what you look at and do in VR. I find both really creepy.

The Vive is room scale, gives you hands, and has better optics. So I'm just waiting.

kumpelblase2 2 days ago 0 replies      
Why I dislike Oculus specifically:

- Owned by Facebook, I don't want to lose even more personal data than I already have to them

- They made several promises that they did not hold (Stock availability for preordern, price range, controllers)

- The controllers aren't even available yet and kinda make the oculus useless (Vive has great controllers)

- Vive has better room-scale tracking of movement

- Requires at least a 970 (same as for the Vive) and I'm not really wanting to buy a new one since my 780 still holds damn well otherwise

- Already mentioned: Windows only

However my biggest issue with the Oculus is that they want to "VR-lock" games specifically for the Oculus and I think that's the shittiest move they could've pulled. This alone is a no-go for me.

dukoid 2 days ago 0 replies      
The main reason I haven't bought an Oculus Rift or HTC Vive is that both currently require Microsoft Windows. I have been Windows-free for several years now and I don't want to relapse for VR.

If both would support Linux, I'd go for the HTC Vive because it includes proper VR controllers and roomscale and I prefer Valves approach to exclusive titles.

My current "VR plan" is to get the PS4 VR when it is available and to bridge the time with the Google Daydream VR SDK..

macscam 2 days ago 1 reply      
I was considering buying one until I realized that it requires a powerful, external Windows computer to run. I had kind of assumed it was a standalone device. They're also getting bad press about DRM / incompatability with other VR hardware. Personally I'll probably wait and see if the technology improves and gets cheaper.
flippyfloppy 2 days ago 0 replies      
Facebook/Oculus is sort of like having someone walk up to you an offer you a free suite at the hotel of your choice to do whatever you want to do. Invite your friends, have a party, whatever you want. The one condition is that the suite will be laced with hidden cameras and listening devices and whatever is recorded belongs to a corporation and that content is managed by a bunch of people you have never met. Does that seem like a good deal? For me Oculus is not even an option. Look at Vive. The room scale is a big deal for me although that might not matter to you. Initially there will be differences in what releases on each platform but over time it will be less of an issue. Eve Valkyrie already has cross-play
PaulHoule 2 days ago 1 reply      
When did you stop beating your wife?
Ask HN: Some career worry questions
4 points by mightymustard  3 days ago   12 comments top 7
sevilo 2 days ago 0 replies      
The very first internship is always hard to land, honestly it's probably not your age or your skills, but rather your experience with interviews and being comfortable with the process.

When I went to find my first internship I only just got it almost right before the deadlines, I was devastated, but something eventually came along and internships afterwards went much smoother than that. I know a lot of friends with similar stories.

So don't take this personally, all I can suggest is keep applying to jobs, get people to practice interviews with you, keep working on questions, and if you have the time working on some personal projects. Normal school projects aren't good enough, when interviewers ask you about those projects they would've heard of the same project 50 times already, work on something that you're passionate about and that you can solve some interesting challenges with, think about what the projects mean to you and how do they help you learn. They should be something that's interesting to talk about during interviews.

Also I'm not sure if this is a good advice or not, but imo don't set the expectation too high for your first internship, it may be a no-name company that you've never heard or cared for and not Google Facebook or whatever you desired, but you will still be able to learn a lot, and getting your foot in the door is important.

I worked at a "no-name" firm in my first internship, but looking back it probably taught me the most out of all of my internships. And things only got better for me since there.

lgieron 2 days ago 1 reply      
IMO you need to decide whether you want to leverage your existing MechEng diploma and experience and go into something like CAD or if you want to be a "generic" software eng.

The first route would probably make more sense (there aren't that many people like you I guess), but it would require you to move (the market for such skills is small) - maybe even to another continent.

If, on the other hand, you want to be a "generic" SE (that can work anywhere in the world and maybe has a shot at remote work), you need to pick a specialty and prove employers that you can deliver within it. That's worth more (although less fun) than cute CS projects you've listed. Just select area/technology/stack you like and start learning about it and eventually build something non-entirely-trivial with it. If you want to see what's hot, take a look at monthly "Who's hiring" threads posted here - they give a good overview of what tech is currently in demand and/or trending up.

tamersalama 3 days ago 0 replies      
I was 30+ too when I moved from Mechanical Engineering (with MSc Mech Eng) to Software Development (MSc Info Sys). I'm from the Middle East.

By the end of my MSc study in US, It was extremely difficult for me to get an internship. My professor was inclined to try to push me further into looking for opportunities but it was dry (a recession). Internships give you, as others mentioned, a foot in the door - but also launches your career at the 'level' that would potentially mean a certain level of income in X years. And not to mention the mentorship you will get.

What I did was, through my local contacts, get a a semi-paid gig for building an e-commerce/catalogue for a vendor. I took that opportunity to learn, on my own, as much as I can. I networked heavily. I went to all tech events I could. I built it in Java/Struts-1/MySQL (the stack of the day) in 3 months.

I then moved back to my country (maintaining my launch app for 2 years). I had a job opportunity waiting.

I never said no to work, network opportunities or pet projects. Anything that I came across I'd try to learn/build. I was married with 1 kid (with a very supportive wife).

Forward 15 years - I'm a Canadian software consultant. Reasonable pay. Lots of challenges especially with the economy. Success? Perhaps.

Email in my profile if you want to discuss further.

saluki 3 days ago 0 replies      
I transitioned from civil engineering to software engineering.

Your MSc will be a +.

It could be due to your age that you didn't get the internships since they are looking for young college kids.

I would focus on what type of programming you want to do.

What experience do you have.

I do full stack development/web applications.

So I'd recommend you learn HTML, CSS, js, jQuery, PHP or ruby, then Laravel or Rails. It's a long process but you have to start with the basics and work your way up.

Think about what type of development/programming you want to do and follow that path.

Once you are a skilled Rails or Laravel developer finding jobs should be relatively easy and pay well.

It's the in between transition time that is the trick. It's lots of learning/hard work. But I enjoy programming and web app development so it never feels like work (at least not yet).

Personal projects are a big plus. Think of an app that would make your life easier and build it.

Sign up for a github account, find some open source projects to contribute to.

Are you still working as a ME?

As a ME you have some good project management/engineering experience that you can apply to doing/running/managing software projects.

To find work you're going to need to network so meet developers in your area network with businesses that could potentially hire you. My best clients/leveling up has came through knowing someone who needed a developer.

Good luck with the transition.

Raed667 2 days ago 0 replies      
I have seen this happen when a friend of mine switched from studying medicine to software engineering.

Don't give up on internship, they really matter.You have an age handicap (you'll be lying to yourself if you don't admit it), however you can overcome it by being better then what your classmates are offering.

You bring something very unique to the table, experience and knowledge, try leveraging what your learned as a mechanical engineer into the interview, show them that you have a unique and broad perspective (especially if you're going to intern in an IT department in a company that is relevant to that process)

JoachimSchipper 3 days ago 1 reply      
Personal projects can work, but internships give you a foot in the door in a company. Do you know why you were not offered an internship? Perhaps it's simply because people assume that you want more money than the typical internship provides, but...

Since you're a mechanical engineer, you probably have a network there. Couldn't you ask one of them for an internship? Anything from an internship at a CNC builder to a custom system to organize drawings to a plugin for a CAD tool?

brianwawok 3 days ago 0 replies      
The only time being 30s would matter is when interviewing at a startup run by 20-somes, which is normally not the kind of startup that hires interns. So don't worry about your age. (But on the other side, don't interview in suspenders or old man clothes, you can do things to appear not a frump).

Are personal projects enough to get you an entry level coding job? Yes especially if you can talk about some coding you did as a Mech-E.

       cached 31 May 2016 04:05:02 GMT