Show HN: Ipyvolume: 3D plotting library for the Jupyter/IPython notebook - <AUTHOR> https://github.com/maartenbreddels/ipyvolume <comment><USER5> I don't have a way right now to try it out, but based on what I can see - <USER2> looks interesting and useful!

Is there a way to look at the docs without installing the package?

NOTE: Just saw you posted the docs link...mustve missed that!

I'd like to see if there is a way to export besides HTML (ie - can I export the 3D output as a model or something for use in another application or purpose?)...

<comment><AUTHOR> No, currently not really an export method. But if you export as html, it is mostly a bunch of JSON that you could do something with.

</comment></comment><comment><USER6> Great stuff. Volume plots were one of few things from MATLAB that I missed.

<comment><USER7> Thank you for this! I currently use vtk and Mayavi, but this looks extremely convenient!

<comment><AUTHOR> You're welcome. It may not do all what they can do, but what it can do, I tried to make it as convenient as possible.

</comment></comment></comment><comment><USER8> Well done! I look forward to looking it over.

<comment><AUTHOR> Thank you, it's still in its early days, so feedback, PR's and issue reports are very much welcome.

<comment><USER5> Alright - took a look at the docs and have a bit of feedback:

1\. First off - great job! This kind of thing should be part of graphing libs to begin with (real perspective projection) - most only have orthographic.

2\. But! You should add the ability to switch to orthographic, as it can be useful for certain plots.

3\. Other plotting types would be useful - I'm not an expert here - <USER3> everything matplotlib offers: [http://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html](http://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html)

4\. Gridlines, labels, legend, titles, etc.

5\. Perhaps an x/y/z gnomen?

6\. A way to pick/point at a datapoint and see the data values that generated it (perhaps with a way to apply formatting to the information popup?)

Ok - I know it is "early days" and what I've posted is probably things you have already thought about and are working on. As a first showing, I really like it. I can see it being useful for a variety of tasks - and again, I am glad you do the perspective projection instead of only ortho - <USER4> sometimes, you just want to see the data in a more "real world" fashion...

<comment><AUTHOR> Thank you, I agree on all points, but good to hear this from others. Labels and axis etc are most important now. What are gnomen?

<comment><USER9> I think it's a small x/y/z axis next to the plot to guide the eye and give orientation. Doesn't have to be located at (0,0,0)

<comment><AUTHOR> Ah yes, thank you, good idea.

</comment></comment></comment></comment></comment></comment><comment><USER10> Great stuff. The lack of surface and volume plotting was one of my perpetual gripes with matplotlib.

<comment><AUTHOR> Thanks. Mayavi was always an option. Except for the lack of Python 3 support. Anyway, more choice is better.

</comment></comment><comment><USER11> Can this work without ipython (i.e. be embedded in a qt window)?

<comment><AUTHOR> It can work without in the sense that you can export an html file and open that in the browser. But there is no 'real' OpenGL support (yet?). However, it's parent project vaex: [http://vaex.astro.rug.nl/](http://vaex.astro.rug.nl/) Does do this, but the volume rendering code needs cleanup, and it does not have an api like this package has. But it would be possible, the shaders are almost the same, the techniques are, but I'm not sure if it is worth the effort. So by question back is, why would you want that?

<comment><USER11> I don't always want to work inside a browser...

</comment></comment></comment><comment><USER12> Any plans for isosurfaces?

<comment><AUTHOR> Yes, short answer: will happen.

</comment></comment><comment><USER13> why not use plotly? More advanced tool and more aesthetically pleasing plots

<comment><AUTHOR> Fair question. I needed both 3d quiver and volume rendering, like this: [https://www.astro.rug.nl/~breddels/test/hdz.html](https://www.astro.rug.nl/~breddels/test/hdz.html) Plotly cannot do that. And this scales to 1 million glyphs, i dont think ploty can do that either. Aesthetics we disagree on i guess :). Futhermore, it is build on ipywidgets, which makes interactivity a simple step, and it can be linked to say bqplot: [http://ipyvolume.readthedocs.io/en/latest/bqplot.html](http://ipyvolume.readthedocs.io/en/latest/bqplot.html) So various reasons, thanks for your question.

<comment><USER14> A sideline: stereoscopic rendering:

I always wonder, why are they drawn for divergent view? (right plot: right eye, left plot, left eye). Convergent view (cross-eye) is much easier for large (full screen plots).

Swapping both plots, (most) humans can easily see the stereoscopic picture without any aids, but it's more or less impossible for almost anyone to have a 3D divergent view for 3D plots where the eyes look away (wider angle than parallel).

So the size limit for divergent view is _much_ smaller than for cross-eyed view.

It is always great to see 3D plots in actual 3D, while regularly working on a notebook, and convergent view would make that quick and easy...

<comment><AUTHOR> I made this with the the Google Cardboard in mind. So you are looking at stereoscopic rendering without aids? I had no idea that was even possible.

</comment></comment></comment></comment><comment><USER15> Seems that the title still might continue the confusion on names. IPython is the python language kernel and Jupyter is a notebook system that that works with dozens of languages.

So the graph system works with Python only and not other Jupyter supported languages.

This graph system works with the iPython kernel inside of Jupyter notebooks.

<comment><AUTHOR> You are correct mostly, this is a Python package, working in the Jupyter notebook, it will not work for other languages. However, most people still know it as the IPython notebook, that is why is mentioned it.

However, most of the code for ipywidgets and ipyvolume is Javascript, running in the browser (you can even export the snippet to include into an html page) and porting it to other languages should be possible.</comment></comment>


Show HN: My Resume 2.0 - <AUTHOR> http://about.peterdevos.com <comment><USER2> Very nice job. I like the feeling you are going for and the illustrations. I've marked-up this image ( <http://i.imgur.com/HWiw7.jpg> ) with some suggestions and things I would cleanup. Notes transcribed below. Hope these help!

1) Center the headshot vertically with the bubble.

2) Don't use an image to round corners, use CSS3 property border-radius instead.

3) This font is unique to this callout, use the Amethysta font face used on the rest of the page.

4) This isn't centered on my screen. Use font-align to center this text, not a static margin.

5) Using a large typeface for the first line/paragraph of text works well to call attention to detail. Make the following paragraphs the same font size.

6) The background colors of the images and the box they sit in are all slightly different.

7) I wasn't sure if this title was supposed to be sitting on the right margin. Centering it would work better I think.

8) These are links, but do no look like links. Use color to show they are clickable.

edit: spelling, grammer.

<comment><USER3> I thought those were some really great suggestions to a really already great resume.

I didn't know you can round the corners of an image in CSS ...

<comment><USER2> Not the image itself, but the box that holds the image. Check out this quick tutorial: <http://www.css3.info/preview/rounded-border/> .

</comment></comment></comment><comment><USER4> Putting your Myers-Briggs personality type in your CV suggests to me that you probably believe in horoscopes, too. At the very least, you think it's relevant somehow and reflects positively on you (or why would you include it?). It's twee, self-indulgent, and pseudo-science - I want more from my developers.

<comment><USER5> Wow, it's great to be so confident. You must be correct then. /sarcasm

If you dig a little deeper into the foundation of analytical psychology, you might be surprised. Carl Jung popularized the terms Extravert and Introvert, and there have been at least 2 studies (that I know of) in neuroscience showing that dichotomy to exist, _physically_ in the brain.

I'm hyperrational, started 2 successful companies, majored in CS, atheist, don't believe in horoscopes, or any bullshit for that matter, but do believe not all brains process information in the same way.

Now to say the MBTI _test_ does not have some validity issues, would be delusional. But on the other hand, only an arrogant fool, would conclude that therefore there is a fundamental problem with the theory.

For example, if I construct a test that asks 500 people (assuming highly randomized sample) if they like sugar. And 250 people say "yes". One cannot conclude 50% of people like sugar.

The best you can hope to conclude is that 50% of people, _self report_ as "liking sugar".

So what this means is that the test makes some flawed assumptions: eg

      1. people are honest (consciously and/or subconsciously)
      2. people know themselves enough, to give accurate responses

There may be more, but those appear to be the major flaws accounting for validity and reliability issues (engineering synonyms are, accuracy and precision). It is also plausible, that these challenges are not insurmountable.

<comment><USER6> It's not like myers-briggs is administered under anything resembling controlled conditions. It really is useless except for self-identifying that you like the myers-briggs categorization scheme and which of the 16 boxes you think that you are in.

Also, if you're going to cite scientific studies to rebut someone else's point, it goes much further to making your case when you actually dig up references or links to them.

<comment><USER5> Here is another:

Neuroanatomical Correlates of Extraversion and Neuroticism Christopher I. Wright, Danielle Williams1 et al, Oxford JournalsLife Sciences & Medicine Cerebral Cortex (2006) <http://cercor.oxfordjournals.org/content/16/12/1809.full>

If you're interested, perhaps a good place to start is Carl Jung's Psychological Types (1921), here it's in my dropbox. I had it digitized into electronic form [https://www.dropbox.com/s/hrf6whb66fbmaux/Psychological%20Ty...](https://www.dropbox.com/s/hrf6whb66fbmaux/Psychological%20Types.pdf)

Many very intelligent, rational people believe introverts and extroverts exists in the population.

Here is a great talk by Susan Cain on introverts [http://www.ted.com/talks/susan_cain_the_power_of_introverts....](http://www.ted.com/talks/susan_cain_the_power_of_introverts.html)

Look forward to further discussion...

<comment><USER4> Could you explain how these relate to the Meyer-Briggs test?

<comment><USER5> It's a beachhead. It does not increase the perceived validity or precision of the _test_ , but it does help support the claim that the theory and model, may have a basis in reality.

That is the foundation of science, models and theories describing reality.

There are also plenty of new theories being created today that have yet to be empirically evidenced. But that in itself, does not make that theory unscientific.

Thus, "What is science?" This is actually an extremely thorny question and perhaps better suited for another time. Although I should add philosophy of science and epistemology happen to be two passions of mine.

Falsificationism is a pretty good start if you are interested. It is by no means not contentious (as is probably any position in contemporary philosophy - but that is another matter)

<http://en.wikipedia.org/wiki/Falsifiability#Falsificationism>

Many engineering types with a brief flirtation with the philosophy of science, tend to like Popper's idea of a theory being solid, if in theory it is able to be shown to be false.

That is the major reason why the MBTI is not at all like horoscopes. Horoscopic predictions cannot be shown to be false (because they are too vague), but the MBTI test can be.

For example, I have never ever met a single person that has said or thinks that "all 16 types fit a person equally".

</comment></comment></comment></comment></comment></comment><comment><USER7> As a designer (which I know you are not) this resume is a bit of a visual mess. Font sizes are all over the place, color blocking is sloppy and unclear and the visuals overlap the text in several places. It also doesn't adapt to mobile devices well.

Pick 2 or three font sizes and cascade them.

Pick one serif and one san serif font.

Pick a base text color one accent color for your section headers.

Clearly separate your text from your visuals.

Use some bold within body text.

Break longer text up.

Shorten the entire resume to focus on only your best work, provide an appendix at the end for your full list.

I built a clear and simple adaptive resume I made a few years back here:

www.constantwanderer.com/resume

<comment><AUTHOR> Hi Chris, thanks for the comments. I agree it's a bit of a visual mess compared to yours, kudos there. Although yours renders as a blank page in my Firefox (v12.0).

<comment><USER5> You seem like a cool guy. I would definitely consider having you as a co- founder.

Smart and humble (may even too much so ;)

FWIW I thought the design is great, because it comes across _authentic_ and _interesting_ , without being a riot of colors.

Sure it could be tightened up slightly, but for a personal website, you did a great job.

As for Chris, your site looks a bit crappy to me, and perhaps I'd think twice about using that as a reference on the slickness-o-meter. ;) PS your points may well be valid though.

</comment></comment></comment><comment><USER8> This is a bit wordy. If you are looking for a freelance gig or business op then you really should be building a business front. As a freelancer, you aren't sending out resumes, you are a business selling a service. Your business is very similar to hundreds of others, but yet none of the top providers in your space would even consider using a site like this as a sales tool. So, you need to figure out what you are really trying to accomplish here, are you trying to get a job or are you trying to start a business?

Don't mention on Hacker News that you are running out of money. Any potential partner or consumer of your services could be put off by that info. If you are running out of money, then what happens when your business goes completely broke while you are working on my project? Does my project take a back seat? Do you disappear while my project goes off the Rails? If you fail to deliver a single piece of value then will you be able to refund any of my money?

Ultimately, this will probably do the trick as a lot of people out there aren't really picky. However, perception is important. If you look like a world class provider, then clients won't blink when you hand then a world class quote. ;)

ETA: I see you do have a link to your company, which is a web development service provider. Why not point people there rather than the location you posted here?

<comment><AUTHOR> Thanks for commenting! I'm looking for a freelance gig for 6 months, to build up some cash to bootstrap the SaaS application (which will be the business front), so I'll need just 1 good project, not hundreds of clients. It's a different model than that of the top providers in this space.

The money part concerns my SaaS project I'm bootstrapping in 6 months from now, the 'current business' (me paying my rent and food) is in no way in danger (and hasn't been in 15 years).

<comment><USER8> The model isn't different Most development service providers are probably one man shops just like you and they can only handle one full time client at a time (or multiple part time clients.) Making the sale is basically the same for each client. You aren't selling something which can be mass produced. Just saying, you already have a business presence that you have already put some work into, why not dust that off and put it to work? Once you get that one client you are looking for, then put up the "all booked up" sign until you need to raise more cash.

<comment><AUTHOR> Thank you for your insights. I thought about this, and try to promote 'me' as a product first (given time constraints) versus the 'web design solutions' all the other freelance shops are doing already. If this doesn't work out I'll probably do both.

</comment></comment></comment></comment><comment><USER9> Hi, I've spent my career looking at thousands of resumes so I hope you'll take my opinion seriously on this.

I appreciate the idea of trying to break out of the fold. People will use new fonts, new structure, diagrams, etc. I understand why people do it, and why they think it's a good idea. _That said, it's not a good idea._ As the guy looking at resumes, I just want to know what you're doing, what you've done and what education you have in as little time as possible.

A few specific points:

\- Your latest project is waaay down at the bottom. It should be at the top. What you've done most recently is the most relevant, right? Put it right in my face.

\- The first two sections are vaguely written in the third person which IMO doesn't help me figure out anything about you.

\- I can't figure out if you have any formal higher education. If not, that's cool, but because the resume is in a strange format, I can't tell either way.

People don't read resumes like they read a book, they scan them, then might drill into some details. Changing the standard structure is like when Facebook changed to the Timeline.

To be honest, I've grown so tired of resumes in general that I just go to people's LinkedIn. It has standard formatting that is easy to scan and figure out what they've done and what they're currently doing.

Hope that helps.

<comment><USER10> You bring up education a few times. Given the length of his work history, is it even important at this point? Why are you so interested in it?

I ask because a lot of people claim that education only really matters for your first job. After that you let your experience speak for itself. So I'm interested in hearing you perspective.

<comment><USER9> > You bring up education a few times. Given the length of his work history, is > it even important at this point? Why are you so interested in it?

Education is (we hope) the rigorous, dedicated, examined and measured study of some subject. On Peter's resume, he mentions that he is an expert Perl programmer. I have no way to measure this without giving him a coding question. However, if he had he has a such-and-such GPA in the CS program at Stanford, then I have some way of _measuring_ his expertise in the curriculum there (BTW - I go so far as to review curricula of various programs when it comes time of the year to do college grad interviews)

I fully admit that not all people need degrees. It's like saying that everyone in the factory must have a mechanical engineering degree. They don't need it... but if they do, I'd like to know quickly.

It also is not saying that someone cannot learn these things on their own. It's also not saying that someone without that study can be smarter and more capable than someone with those years of study. Both happen, a lot. And also a lot of dropouts I've known are more capable than their graduating counterparts. [OT: all of this is why I've been advocating apprenticeships out of high school for some time now, especially in games, which I used to work on.]

Back to the original question, going to the extreme end of the spectrum, would you take a Ph.D. seriously on someone's resume, or not? I do. Even years later, it means they dedicated years of time to the study of that subject.

<comment><AUTHOR> I agree with your analysis, in principle. However, my formal university education is twenty years ago, and much less relevant to the self-educated Perl programming that I've been doing since. And this format allows me to highlight this relative relevance, so I just mentioned "Business Administration" in the resume icon. I'm hoping people can assess my coding skills by looking at the source code of my open-source projects.

<comment><USER11> Many of the people responsible for reviewing qualifications are not capable of assessing ability by reading source code.

</comment></comment></comment></comment></comment><comment><USER12> Developer here. I feel there's too much info there. I read 2 or 3 titles, skimmed over the wall of text, looked at the pretty pictures for a full 2 seconds and then got bored. I suggest either extracting 5 sentences that would represent you best and focus on communicating those. If you still insist that all the info there is relevant, at least hide it under expandable sections. My 2c. Good luck!

<comment><AUTHOR> Thanks. Expandable sections is probably a good idea.

<comment><USER13> The issue is real as far as I can see, but expandable sections is like cheating in this context. You should work on better typography hierarchy. Create a better organization for content and reduce a little (not too much) the size of font. It's not a problem of "too much" content, but about "too aggressive layout", difficult to __scan __.

</comment></comment></comment><comment><USER14> Wow we have lots in common, except your resume reads like a grown up version of mine!

"I'm a small business owner, programmer, biker and overall nice and knowledgeable guy. I love creating beautiful code and simple interfaces."

I may be still a university student, and my "freelancing business" is worth only $10k a year, but I'm also a biker (started this year), a nice and knowledgeable guy, and _the_ passion of mine in software is beautiful code and simple interfaces. You're an independent contractor, and... I guess, me too.

I too am involved in development of the entire website - backend, frontend, database, the whole thing, but the number of technologies I know is around a third of yours. Maybe I can describe myself as "I am an aspiring FULL STACK developer"?

I'm going to assume those programming traits are shared by all programmers because I have those too.

At least your list of projects is completely different to mine (and much bigger)... And of your list of 6 techniques & best-practices I only actively employ three.

Definitely a grown-up version of my resume alright.

<comment><AUTHOR> Thanks. Don't worry about the number of technolgies, just make sure you do one stack (one server-side language, HTML, JavaScript and CSS) well, and call yourself a full stack developer.

Drive safe.

</comment></comment><comment><USER15> One little tidbit, you might want to fix up that image of your "full" stack. It looks like you grabbed a bunch of images off Google Images and threw it together in MS Paint (it doesn't help that GIF is messing up the colour palette).

As some one who has stared at a couple of resumes and been annoyed when a resume looks weird it may help a little bit.

<comment><AUTHOR> Thanks. That's exactly what I did (in Photoshop, not paint) when I created the first concept. I thought I could pass it of as 'design' so I didn't clean it up, but maybe I should.

</comment></comment><comment><USER16> A note for readers who might think this type of resume could help land a job in a traditional company (AMZN, GOOG, MSFT, and any other software company, large and small, who employs recruiters).

Know your customer. Your customer is the recruiter.

A typical recruiter spends less than a minute looking at a resume. Much less than a minute in some cases. This presentation makes it impossible for the reader to skim and get the salient point of why you might match the requirements of a particular position.

The only reason a recruiter would actually read this type of resume is if you were a referral. Otherwise, the recruiter will skip to the next resume on their stack.

<comment><USER17> I'm a recruiter. I also used to be a programmer, so perhaps I'm not entirely typical, but I actually really enjoyed this format, in general (though I agree with another commenter about how it's a bit harder to scan for salient information than ye olde LinkedIn profile).

Anyway, the reason I enjoyed this format is that I look at huge stacks of resumes on a regular basis, and most of them are completely soulless piles of keywords/buzzwords. Anything that breaks up the monotony and screams, "I am passionate about something" is going to stand out.

</comment></comment><comment><USER18> I've done my share of recruiting and here is some brutally honest but hopefully helpful feedback:

1) The caricature of yourself is the first thing I noticed and it put me off. It's a bad drawing and triggered a negative responsive - I now have to make a mental effort to screen it out and avoid referring to you as "the dev with the sh*tty drawing". I'd just stick to your photo, which looks much better and gives me the impression that you're a pleasant chap to work with.

2) Your CV is a visual mess - serif font with varying sizes and styles... I felt lost.

3) Too much waffle, i.e. too many words. Focus on your recent achievements, major obstacles you've encountered and how you overcame those etc. something to peek my interest.

4) Horrible color-scheme (might be the texture and the poor gradient further down), reminds me of old battle-ship gray Windows 95 apps. If you want to use gray, see how Apple's website is using it.

5) I'd avoid words like "cool" or "mad skillz".

In short, keep it simple and stick to what recruiters are used to seeing. Some examples of nicely formatted and easy to scan resumes are:

<http://resume.justindickinson.com/> <http://oaktreecreative.com/resume/>

<comment><AUTHOR> Very helpful feedback, thank you. Did you know you can create your own (less sh*tty) caricature at my homepage (peterdevos.com)? The first resume you link to is based on a standard resume template featuring C'thulhu (<http://css- tricks.com/one-page-resume-site/>), I wanted a more personal approach but I guess I pushed it too far for your taste.

<comment><USER18> Tried it and it made me smile - you're much prettier than me, so I take my comment back referring to your drawing as sh*tty. Just wanted to illustrate what was happening in my head. I know it's very subjective anyway, so please don't take it personal.

Regarding my first link, I didn't know it was based on a template and I doubt many recruiters will know as well. Just thought it's one example of an easy to scan resume.

</comment></comment></comment><comment><USER19> I really like it, and the "artistic direction" is lovely.

With that said, I would put more of the specifics (my software) earlier and some of the generalities (traits of a great software engineer) later on.

If you start with a lot of generalities, it's easy to think, "oh, he has no specifics to recommend him" when in fact you do.

<comment><AUTHOR> Thank you for the kudos. I experimented with the order a bit, but myself and a friend that looked at it found the flow of information a bit weird when starting with the specifics.

</comment></comment><comment><AUTHOR> I'm bootstrapping a SaaS business but running out of cash and resources, so I'm open to business propositions or freelance gigs for the next six months or so. This is how I try to promote myself. What do you think?

<comment><USER20> Maybe it's a cunning plan to avoid being contacted by certain people, but I've known plenty of people who would be put off by seeing "laziness" listed as one of your traits.

<comment><USER21> Laziness is one of the three great virtues of a programmer according to Larry Wall. "Laziness" was used in the context of all three virtues: <http://c2.com/cgi/wiki?LazinessImpatienceHubris>

<comment><AUTHOR> Yep, that's what I'm trying to convey.

</comment></comment></comment></comment><comment><USER22> Information overload! What I prefer is the bottom part, with your photo, and where you focus more on the customer + contact info.

I would probably put that at the top, and consider the rest are details for the interested visitor.

Hope this helps!

<comment><AUTHOR> Thanks for the comment! There's way less information on my homepage (peterdevos.com) though.

<comment><USER22> I hadn't seen that, thanks - looks like a good complement then!

</comment></comment></comment><comment><USER23> FWIW, your layout is completely broken for me in Firefox on Windows XP, and the web font looks terrible on this platform (sorry).

I agree with much of the other constructive criticism you've received. In case it's helpful, your 20 seconds of attention on a first look over a CV would go something like this if I were the reviewer:

1\. Made an effort to produce a distinctive on-line CV. Good.

2\. Layout at top of page is broken and chose an unusual and poorly rendered web font. Bad.

3\. What does he actually do? Generic terms like "building web systems" and "creating beautiful code" don't tell me very much. Neutral (but wasting time).

4\. Ah, OK, he's a full stack guy, with a variety of modern tools listed. Better.

5\. But despite talking about HTML5, CSS3, and other modern front-end technologies, the layout is completely broken again around that diagram, and neither the typography nor graphics are well done generally. Bad.

6\. Despite claiming many years of experience, the practical skills and attention to detail aren't up to professional standards.

7\. No hire.

I am left with the impression of a Jack of all trades but master of none. I did read on to the end of your CV after I recorded the above, and to be brutally honest, it reinforces that impression.

You're a contractor and keen to learn new technologies, which suggests that while buzzword-compliant you don't necessarily have much depth behind any of the technologies you mention throughout the CV, and nothing you say anywhere really counters that impression with hard data about years of experience with each tool, how many projects you've done with each tool and what kind of scale they were on, etc.

You're a UX designer, but your CV isn't optimised for scannability at all.

You adapt to change, yet the reason your layout is broken right at the top of the CV is that you're using a static background image to create a bubble that doesn't quite fit the text you wanted to show in it, instead of gracefully degrading CSS3 that would have expanded automatically to fit that text.

You believe in lots of testing and continuous integration, yet you've failed basic cross-browser compatibility on several counts, all of which would be common knowledge to a good web designer/developer.

OK, enough with the negativity. I figure that usually being brutally honest on these occasions is more helpful in the long run than sugar-coating stuff that is bad, but please don't take any of this personally or think I'm just having a dig.

If I were you, I would either spend a bit of time polishing up my front-end skills to get the design into shape or acknowledge the limitation (both personally and by toning down the related content in the CV) and get help from someone who is an expert in that particular area. I would also get help from a professional careers advisor or other CV-writing expert on how to organise your content for the way real people are going to read that CV. You do have a lot of potentially interesting material in there, and I totally respect that you've made the effort to present it nicely, but the rookie mistakes in the design and lack of scannability are letting you down right now.

<comment><AUTHOR> Thank you for your brutal honesty, I really appreciate it. Regarding some your points:

2\. How's the layout broken? I'm on Firefox on Windows XP as well, and regarding fonts, this was one of the few Google fonts that actually rendered nicely on my screens in different browsers. Some are utter crap, I really thought I had found one that isn't. Maybe specifying absolute font sizes would fix things.

5\. Ouch. Although I'm not sure the layout is completely broken, the graphics could use some more TLC. The 'full stack' image is supposed to convey some mosaic-like design (with the shades of grey) instead of a 'clean' version, but I'm aware a failed miserably in this regard. Will redo the image.

7\. No problem.

> I am left with the impression of a Jack of all trades but master of none.

I prefer to think of myself as a specializing generalist, see [http://www.agilemodeling.com/essays/generalizingSpecialists....](http://www.agilemodeling.com/essays/generalizingSpecialists.htm#GeneralistsVsGeneralizingSpecialists)

> you don't necessarily have much depth behind any of the technologies

I figured the industry experience covered some of this

> You're a UX designer, but your CV isn't optimised for scannability at all.

Well, I've played the role of UX designer, not the same thing. I focused more on story-telling than scannability here, good suggestion though.

> you're using a static background image .. instead of gracefully degrading > CSS3 > you've failed basic cross-browser compatibility > polishing up my > front-end skills to get the design into shape

Good points, thanks. Please consider this version 0.1.

> how to organise your content for the way real people are going to read that > CV

If by 'real people' you mean recruiters, that's not my primary target audience, I have an utterly boring, scannable MS-Word document for them if needed. Also, the page doubles as an 'about me' page for peterdevos.com and my resume, this may have been a bad decision to begin with.

> rookie mistakes in the design and lack of scannability are letting you down > right now

Agree to some extent. That's what this 'Show HN' post was for, to get initial feedback. Again, thank you, much appreciated.

<comment><USER24> Here's a screenshot taken with the latest dev version of Chrome on Windows 7: <http://i.imgur.com/aciAY.jpg>

I assume the layout breaks on my setup because I have set the default browser font size to 18px and you're using em's (which are relative to the base font) to define all your font sizes.

Using relative font sizing isn't necessarily bad, but you should make sure that the whole layout is flexible enough. For example, you have set a static pixel height for the speech bubble and "full stack" containers. With a slightly different font setup that can cause the text to overflow (as can be seen in the screenshot above).

Great work this far, I'll bet you can make this a lot better by reading all the feedback in these comments.

<comment><USER23> _I assume the layout breaks on my setup because I have set the default browser font size to 18px_

FWIW, that's the same problem I was seeing at the top, and I too have my default font size at 18px.

I also see areas overlapping badly alongside the full stack graphic, which apparently you don't in Chrome.

</comment></comment></comment></comment><comment><USER25> The phrase "style over substance" doesn't appear in the entire comment thread so far. Shame, it's really the only three words that are needed.

</comment><comment><USER26> It's a refreshing take on the standard developer white-dress-shirt-no-tie-and- slacks resume, but I abhor the phrase "clean code". It's self-important and utterly meaningless given that code you write will be picked over by multiple people throughout the lifetime of the software. Instead, I personally value developers who understand effective abstraction.

<comment><USER27> Mentioning 'clean code' is surely a message that the OP understands that his code will 'be picked over by multiple people throughout the lifetime of the software'?

I'll take clean domain level clear and concise coding even if it under- delivers on the abstractions occasionally. Code will always be read and maintained more often than it is aggressively extended.

I vote to keep it in!

<comment><USER26> Well, the purpose of constructing an abstraction is at least as much about DRY and SRP as about providing extensible base classes in an object-oriented language.

I think we tend to agree given that you prefer 'concise coding' which I'll take to mean DRY and 'straightforward' rather than 'clever'.

But by 'picked over', I literally meant 'changed to meet changing requirements' rather than 'read for comprehension'. In that sense, the fact that one guy on the team considers the code he writes to be 'clean' is rather meaningless when many hands might work in that pathway. Composable approaches tend to be more resilient to regressions, well, in my experience anyway, YMMV.

I guess my problem with 'clean code' is that it's too open to interpretation. What do you specifically do that makes your code better than the other guys?

<comment><AUTHOR> > What do you specifically do that makes your code better than the other guys?

Nothing specific, I'm just saying I value my code well-structured and readable, as well as DRY and straightforward. The proof is in the pudding (my open-source software), of course.

</comment></comment></comment></comment><comment><USER28> Is the colorful part of <http://about.peterdevos.com/images/stack3.gif> a stock image? I've seen this a few times, <http://www.firebase.com/> comes to mind.

</comment><comment><USER29> I like it.

One thought - one of the first things I do is search for GitHub on these pages. I see that your 'programmer' link points to your GitHub account, but you might want to add the keyword there too.

<comment><AUTHOR> There's also the 'software' links to Github projects and the Github icon at the bottom of the page.

</comment></comment><comment><USER30> It has some nice points, but I quickly hit tl;dr mode. Resumes or resume analogues should be concise unless they're actually portfolio demos, in which case they should still be concise.

</comment><comment><USER31> Hierarchy is key. Choose one or two paragraphs that are most important and make them pop. It shouldn't feel linear.

</comment><comment><USER32> My take: <http://i.imgur.com/zFuNa.jpg>

<comment><USER33> You really have 'Micro$oft' on your 'resumé'? That's so childish...

<comment><USER32> A company that bases his techs on Microsoft products or is sensitive about this would be put off by reading it.

It keeps 'serious' companies from contacting me, improving my accuracy on finding a position I can handle without headaches.

<comment><USER34> The word also has a strong association with devs who are immature or platform religious.

It's possible you would be ok working with others of this mindset, but I think you're better off w/out it.

No ad-homs intended, just wouldn't want you to miss opportunities with companies that frown upon being close-minded (but are still non-microsoft).

<comment><USER32> It's possible at the time of doing it I was platform religious and did a bad pun.

It's also possible I am still.

But you both make a valid point on it being perceived as immature, and so I will note it for the next time I use this.

Thanks for the suggestion.

</comment></comment></comment></comment></comment><comment><USER35> It made me smile, and want to respond in an early kids TV show way "Hi Peter!". I liked the part about being a full stack developer too.</comment>


Ask HN: Any Pebble Alternatives? - <AUTHOR> Are there any programmable Pebble alternatives nowadays? I've heard of Pebble Versa 2, but people are complaining that it's not possible to create an always-visible custom watch face.<p>My goal is to create a TODO/Pomodoro watch app (as I had on my good, old Pebble) that is always on. <comment><USER2> I would suggests Amazfit Bip. Amazing battery life, steps, hr, gps, notifications, no need for official app (use Gadgetbridge) and can flash alternative firmware for which you can develop in c.

[https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Amazfi...](https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Amazfit- Bip)

The following link takes you to a Wiki page about BipOS. In the wiki is all you might need to know: [https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Amazfi...](https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Amazfit- Bip-OS)

<comment><USER3> While I realize that everybody is manufacturing in China, is it responsible to buy an actual Chinese branded piece of electronics with Chinese software on it? Right now?

It may just be splitting hairs, but it seems like in general those brands should be avoided, between Huawei's alleged espionage and the human rights problems these days, it feels like we should be making the minimal effort to avoid those brands.

Of course, I'm a total hypocrite writing this on a Motorola/Lenovo phone.

<comment><USER4> Huawai is doing it alleged ... nobody has proof. For Cisco, Amazon, Google etc. we have proof :)

<comment><USER5> I'm usually the first to criticize the US government, but if I'm forced to choose I'd rather the NSA have everything on me than their Chinese counterpart.

</comment></comment></comment></comment><comment><USER6> PineTime ?

[https://wiki.pine64.org/index.php/PineTime](https://wiki.pine64.org/index.php/PineTime)

<comment><USER7> You can actually get a devkit that's the full watch (just not sealed/glued shut) and it will ship within a couple days.

[https://store.pine64.org/?product=pinetime-dev- kit](https://store.pine64.org/?product=pinetime-dev-kit)

<comment><USER8> As someone with a PineTime Dev Kit on their desk in front of them, I would say that "just not sealed/glued shut" is not the entire story. Sure, you could glue it shut. But you would be stuck with somewhat bog standard software that is neither exciting nor updateable unless you hook the device up via Serial Wire Debug (SWD) to flash it – which requires yet another piece of kit to achieve. PINE64 are not joking around when they state that: "The PineTime Dev Kit [is] aimed solely for development purpose only, this is not for end user[s] who [are] looking for [a] ready to wear Smart Watch. More specifically, [we] only intend for these units to find their way into the hands of developer[s] with extensive embedded OS experience and an interest in Smart Watch development." [1].

That being said, I have had a lot of fun learning embedded systems over the holidays and highly recommend getting a dev kit if you want a rewarding hobby that is likely to contribute to this watch coming out "for real" with a lot of fun software some time next year. Admittedly my reading list is very Rust biased, so feel free to ignore parts of it. But I highly recommend the embedded Rust "Discovery Book" [2] and "The Embedded Rust Book" [3]. Also, anything written by Lup Yuen Lee (李立源) so far has had the highest quality of all writing related to PineTime development. The only downside is that it is on Medium (yuck!), but do start with the one where he breaks his PineTime open for the first time and go from there [4]. There is also of course the PineTime sub forum [5]. Lastly, if you are new to embedded systems (such as myself) it may also be worth getting the development board that corresponds to what is inside the PineTime [6]. Happy reading and hacking!

[1]: [https://store.pine64.org/?product=pinetime-dev- kit](https://store.pine64.org/?product=pinetime-dev-kit)

[2]: [https://docs.rust-embedded.org/discovery](https://docs.rust- embedded.org/discovery)

[3]: [https://docs.rust-embedded.org/book](https://docs.rust- embedded.org/book)

[4]: [https://medium.com/swlh/sneak-peek-of-pinetime-smart- watch-a...](https://medium.com/swlh/sneak-peek-of-pinetime-smart-watch-and- why-its-perfect-for-teaching-iot-81b74161c159)

[5]: [https://forum.pine64.org/forumdisplay.php?fid=134](https://forum.pine64.org/forumdisplay.php?fid=134)

[6]: [https://www.nordicsemi.com/Software-and-Tools/Development- Ki...](https://www.nordicsemi.com/Software-and-Tools/Development- Kits/nRF52-DK)

<comment><USER9> How are the ergonomics? Can you actually wear and use it as a watch (sw issues aside).

<comment><USER8> You certainly can, I just have not tried it. It comes with a strap and everything. User "maiden" has an awesome setup that makes it both flashable and wearable for testing, have a look [1].

[1]: [https://forum.pine64.org/showthread.php?tid=8129&pid=52537#p...](https://forum.pine64.org/showthread.php?tid=8129&pid=52537#pid52537)

</comment></comment></comment></comment></comment><comment><USER10> Could just go with a garmin. There are already multiple pomodoro apps for them, I use one of them. Just search for pomodoro at [https://apps.garmin.com](https://apps.garmin.com)

If you dont like how they implemented it you could easily write your own, the api is fairly straightforward: [https://developer.garmin.com/downloads/connect- iq/monkey-c/d...](https://developer.garmin.com/downloads/connect- iq/monkey-c/doc/Toybox/Background.html)

<comment><USER11> I'd second Garmin. To me the killer features of my Pebble were the lack of a touchscreen, the long battery life from the passively lit display, and the ability for developers to write their own software - all qualities that the Garmin line possesses.

The only downside of the Garmin devices is the extra fitness sensors (gps, hrm, pulseox) which not all Pebble users might want. As a runner and cyclist myself these features are all upside, but not everybody will use them and they add to cost / size.

I can recommend the forerunner series. I have the 945 which is marketed at runners but it has the same features as their other high end devices, just in a smaller and lighter plastic case.

</comment></comment><comment><USER12> I would continue to purchase Pebbles. I have a few (too many than I want to admit) in storage that I take out, update with my settings, half charge, and then put back in my fire safe.

There really isn't anything else that I've found to fill the gap. Good battery life, well supported by an open source community, and it really just continues to work very well for my uses.

I've heard good things about the Amazfit models, but they aren't as "open" as Pebble as far as I'm aware. Keep an eye on PineTime [0], it looks promising.

0\. [https://wiki.pine64.org/index.php/PineTime](https://wiki.pine64.org/index.php/PineTime)

<comment><USER13> Where do you go to report issues with Pebble/Rebble? I did a Runkeeper update a while back and was saddened to see that it broke the Pebble integration (which allowed me to see how long I'd been exercising and pause/resume my ride). I assume Runkeeper won't fix this because there are so few Pebble users, but presumably the Pebble community might be interested in fixing the issue?

<comment><USER14> I remember seeing in Runkeeper's changelog they removed the wear support altogether. Now using Garmin and no Runkeeper functionality here either.

<comment><USER13> I really wish I could roll back to the old version of Runkeeper!

</comment></comment></comment></comment><comment><USER15> I've yet to find a programmable watch that is competitive, but...

I've been working on a DIY smartwatch firmware that uses the OLED version of the DSTIKE ESP32 watch development kit. This kit is less than $40 and is basically a small ESP32 dev board with a few LEDs and a mono OLED screen.

It has the following features of use for a developer: 2.4ghz wifi, BLE, 2 cores and an interesting ULP core that can actually do a fair amount of logic (such as detect buttons) while still drawing microamps, A modestly accurate RTC that survives deepsleep, An internal white LED, which as packaged can be used as a reading light, A neopixel on the front, a square wave driven buzzer on the front, and a 600mah LIPO battery, and power management with discharge protection and .

It is not by ANY means waterproof, but with some work (3d printing an enclosure and using a sealing spray) it can be modestly water resistant. At its price, you can actually buy more than 1 as backup in the event of serious water damage though.

The predecessor to this was an ESP8266-based system (a much less capable chip) for mass wifi deauth attacks.

It's a very interesting project writing a smartwatch firmwatch from scratch. Currently I'm trying to get to where I can use Rust (which I don't really know yet, so: learning opportunity) to write the core event loops I need. I won't be able to use Rust for the ULP cores (that has to be done in assembler) or OLED drivers, but I'm fairly sure the normal Rust binding generators will work fine.

I highly recommend trying something like this if you have the time and inclination. It's very fun to incrementally add features to the watch.

<comment><USER16> Do you open source your project? If yes, where? I'd be interested to try it. Received the ESP8266 version a couple of days ago...

<comment><USER15> Sadly very little I do will be useful to you. The 8266 version is very, very limited. You'll be able to deauth and set the time with nntp, and that's about it.

But also: I'm trying to work out a way to open source my work. My employer produces software for smart watches and wearable tech. Even if I don't know about that part of the business, they're kinda tricky about open source project policies.

</comment></comment></comment><comment><USER17> Are you aware of bangle.js?

[https://banglejs.com/](https://banglejs.com/)

<comment><USER18> Wow this looks very interesting. LCD screen instead of LED or any e-ink- similar display. Claim of 20 hour battery life.

I'm willing to back this project even with a Fossil HR on my wrist.

<comment><USER19> > Claim of 20 hour battery life.

This isn't something of note now is it ? Xiaomi's watches have insane 2 week+ battery lives these days.

<comment><USER18> Depends on the screen. An LED screen like the Apple Watch needs to be charged almost every day. But an e-paper or LCD screen might last much longer. Also some makers do a dual screen with an LED screen underneath some sort of overlay that can be always on. I'm no expert in this, just very interested in finding a good smartwatch.

</comment></comment></comment></comment><comment><USER20> From the blog post announcing the FitbitOS 4.1 SDK it sounds like custom always-on clocks are in the works:

[https://dev.fitbit.com/blog/2019-12-19-announcing-fitbit- os-...](https://dev.fitbit.com/blog/2019-12-19-announcing-fitbit-os-sdk-4.1/)

(Disclosure: I work at Fitbit but not on any of the SDK or device stuff. This is my own personal opinion and should not be considered the official position of my employer.)

<comment><USER21> When will the spo2 feature ever materialize on existing Fitbits that have the hardware for it?

</comment></comment><comment><USER22> Just get a pebble.

I got a replacement pebble of ebay, works great with the "solanum" app (pomodoro) and GoogleTasks for pebble as a todo list that syncs to a google account.

I have the rebble subscription as a support for the maintanance team although I rarely use the voice to text capability.

I wear my pebble everyday. Just because the company doesnt exist doesnt mean the products are useless.

you may have to track down the apk file if you are on android and dont want to use gadgetbridge from F-droid

EDIT: I extracted my pebble apk with apk extractor [1]:

size 26589168 md5 3edeeffdca616336adc27eaf6189e85e sha1 b3b3642ceaf125049eb241fee2e28f573bf2a04f

correspondingly the one on apkmirror is slightly smaller [2]:

size 26589160 md5 eb057a463e688b0f51c2820227fb0520 sha1 41ad7557920e94ab05081e7bab07f0accd759e50

I am actually surprised that the version I have is 8 bytes larger.

[1] [https://f-droid.org/en/packages/axp.tool.apkextractor/](https://f-droid.org/en/packages/axp.tool.apkextractor/) [2] [https://www.apkmirror.com/apk/pebble-technology- corp/pebble/...](https://www.apkmirror.com/apk/pebble-technology- corp/pebble/pebble-4-4-2-1405-62d45d7d7-endframe-release/)

</comment><comment><USER23> [https://github.com/Jeija/esp8266-smartwatch](https://github.com/Jeija/esp8266-smartwatch)

Just need a nice case. No, I haven't tried it myself.

There's a version on Aliexpress but it is preconfigured to be a WiFi Deauther rather than a watch.

[https://www.aliexpress.com/item/4000522565001.html?spm=a2g0o...](https://www.aliexpress.com/item/4000522565001.html?spm=a2g0o.detail.1000023.1.53065b8fkyauws)

Edit: this one looks like a good version [https://www.aliexpress.com/item/4000302271246.html?spm=a2g0o...](https://www.aliexpress.com/item/4000302271246.html?spm=a2g0o.detail.1000014.22.5b684d1c2T78Qe&gps- id=pcDetailBottomMoreOtherSeller&scm=1007.13338.128125.0&scm_id=1007.13338.128125.0&scm- url=1007.13338.128125.0&pvid=6db97dd3-a8bd-4bf5-8cdd-270654624a32)

<comment><USER24> Dip it in conformal coating and you get a baremetal, but waterproof smartwatch! Cool!

</comment></comment><comment><USER13> I just posted a comparison review of the Pebble vs Fossil Hybrid Smartwatch. [1] I'm still on the fence about whether to keep the Fossil. The main con is that it doesn't allow notifications from any app (just a dozen or so they've hand-picked, for now), and that the light does not come on easily. But the battery life is comparatively amazing (2 weeks).

The most interesting thing I've noticed is that because it doesn't look like a smartwatch, when I look at my wrist to check a notification, people ask if I'm OK on time. They assume it's a regular watch, and therefore the only thing I could be checking is what time it is. Kind of a funny side-effect of having a well-camouflaged hybrid smartwatch.

1: [https://www.youtube.com/watch?v=p9RiP70_5M0](https://www.youtube.com/watch?v=p9RiP70_5M0)

<comment><USER25> I was under the impression that they recently fixed the limited set of notifications problem, though I'm having trouble finding the source at the moment.

<comment><USER13> It looks like they had an app update (at least on iOS) a week ago that offers "enhanced notification support". [1] I wish they'd pushed a notification to let me know about this!

They added a bunch more apps — there's maybe 40 or 50 now. The best news is that they're clearly aware that this is an issue and will presumably be adding more in the future. Some of my important apps are still missing, though they've added some important ones (Facetime, Slack, Skype).

Thanks for pointing this out!

1: [https://apps.apple.com/us/app/fossil-hybrid- smartwatches/id1...](https://apps.apple.com/us/app/fossil-hybrid- smartwatches/id1027370544)

</comment></comment></comment><comment><USER26> The pinetime looks really good, I'm planning on getting a couple for me and a friend since we're both decent embedded devs and the lack of a preinstalled OS probably won't be so bad for us.

</comment><comment><USER27> The pinetime dev kit is only 25$ and would be a good platform for this. [https://store.pine64.org/?product=pinetime-dev- kit](https://store.pine64.org/?product=pinetime-dev-kit)

</comment><comment><USER28> Buy a supported device from eBay and then install AsteroidOs (AsteroidOs.org)

</comment><comment><USER29> I've just kept using my pebble. consistent week long battery life, it gives me notifications and tracks my activity, not much else needed.

</comment><comment><USER30> Why not get an actual Pebble? That's what I did!

</comment><comment><USER31> The newly released Xiaomi Mi Watch may be worth investigating, as it runs customized Android (MIUI): [https://xiaomi-mi.com/mitu-watches/xiaomi-mi- watch-black/](https://xiaomi-mi.com/mitu-watches/xiaomi-mi-watch-black/)

Xiamoi also makes the aforementioned Amazfit series watches

</comment><comment><USER32> Find its predecessor, the Alerta InPulse watch. It has a very simple but usable SDK.

<comment><USER21> I've never heard of this and Googling for it turned up nothing. Perhaps its known by something else?

</comment></comment><comment><USER33> Have you considered a good old Casio g-shock with a repeating sports timer?

</comment><comment><USER34> No, but the google fossil wear (no idea re: name) watch is great.</comment>


Querying Google/a search engine through my webapp? - <AUTHOR>

Googling "query searchengine" and the like doesnt give a good answer so i try here.
Searchengines generally do a good job of sorting out relevant data/links but they rarely ever take you all the way to the goal.
So I have some different webapps I'm working on and I would like to query Google or some other searchengine for a subject and then go through those links and present the relevant information.
I could obv write something to do this, but is it allowed? Or I have to pay for this service at Google? If so, is there some automated way to do this? <comment><USER2> Yahoo! have a great search API: <http://developer.yahoo.com/search/>

Google quietly re-introduced their search API a few months ago under the guise of the "Ajax Search API that doesn't require JavaScript" - it requires you to provide a referrer which is a bit weird, but it should work OK: <http://code.google.com/apis/ajaxsearch/documentation/#fonje>

<comment><AUTHOR> Went with Yahoo's, you are right, it is very easy to use.

Just get a Yahoo-ID and download the API. The following code searches for Zlatan Ibrahimovic and prints the top 40 results:

      from yahoo.search.web import WebSearch

      srch = WebSearch(app_id="YahooDemo", query = "Zlatan  Ibrahimovic", results = 9)

      for res in srch.parse_results():
         print res.Url

<comment><AUTHOR> sorry top 9 results obv.

</comment></comment></comment><comment><USER3> Google doesn't allow automated queries. An old soap api key might still work. (At least it works for the former company I worked for, but I think they also had a special deal with google)

</comment><comment><USER4> Once upon a time there was a Google API to do that, but its not available anymore. And im pretty sure scraping their result pages is against the TOS and will get you banned pretty fast.

</comment><comment><USER5> There is a perl module that you can use to search Google: [http://search.cpan.org/~bstilwell/Net- Google-1.0.1/lib/Net/G...](http://search.cpan.org/~bstilwell/Net- Google-1.0.1/lib/Net/Google/Search.pm)

I'd imagine other languages have similar libraries.

</comment><comment><USER6> I wrote a page scraper for google some time back. Its actually easier to parse their pages than yahoo's imo. You will get blocked for hours if you intend to post hundreds of times a minute though.

</comment><comment><USER7> Seconding simonw's Yahoo recommendation. The API is great and the results are often as good as Google's. If you scrape Google searches, they _will_ eventually block you.</comment>


"We don't really practice agile development nor CD" - Mint.com - <AUTHOR> http://groups.google.com/group/lean-startup-circle/msg/05f54a9ec9e3bc45?hl=en <comment><USER2> "2) Market. We're in an existing market where the pain is pretty acute and the problem domain well defined. Additionally, the incumbent competitors had basically neglected the market as unattractive."

Cust. Dev. is not as important when competing in an existing market, as opposed to building a new market - there's less uncertainty about the needs of customers.

<comment><USER3> Unless you're re-segmenting the existing market.

<comment><USER4> This comment is undervalued, a lot of times people don't necessarily know what "if I just get 1% of the market" really means because they haven't gathered any data

</comment></comment></comment><comment><USER5> I hate showing my ignorance, but what is "CD"?

<comment><AUTHOR> Customer development :)

<comment><USER6> I think it could also be continuous deployment.

<comment><USER7> The author is a product person, and he specifically mentions "The Four Steps to the Epiphany" so I believe he's talking about Customer Development.

<comment><USER8> One of the previous items in the thread also mentions customer development:

 _Useful, sure, but for those of use way before those steps, there was nothing about customer development._

[http://groups.google.com/group/lean-startup- circle/tree/brow...](http://groups.google.com/group/lean-startup- circle/tree/browse_frm/thread/e472671840994845/7969b1f9cbe33404?hl=en%05f54a9ec9e3bc45&rnum=1&_done=%2Fgroup%2Flean- startup- circle%2Fbrowse_frm%2Fthread%2Fe472671840994845%2F7969b1f9cbe33404%3Fhl%3Den%2505f54a9ec9e3bc45%26tvc%3D1%26#doc_40cc1006da279f83)

</comment></comment></comment></comment></comment><comment><USER9> imo if they do major "waterfall" releases every two months, they are probably doing it right and getting most of the benefits of "agile" development

Unfortunately, "agile" has become religion for a lot of people and sometimes, it is also an excuse for poor planning. Similarly the "waterfall" approach is sometimes used as an excuse for not making any decisions.

Ultimately, what matters is basic good development principles. "Agile" development has a lot of good practices and the so-called "waterfall" approach also has its benefits and the right approach is to use the most appropriate methods for the team. Getting hung up in terminology isn't going to help

<comment><USER10> If they're making stuff people want in small timeboxes, they're being agile.

Agreed that agile has become too religious.

Now having said that, I'd argue that smaller timeboxes with a tighter feedback loop into "what people want" would make them even more successful.

The neat thing about real agile isn't that it's a religion (although it is for many) it's that it gives us context to talk about what works better or worse in iterative, incremental development.

</comment></comment><comment><USER11> _We tend to follow a more traditional (waterfall) dev cycle, with patch releases roughly every 1-2 weeks and major releases every 2 months._

If you release every two weeks, with a define-design-develop-deploy cycle in those weeks, then you may very well be doing agile development. In my current project we're employing Scrum (but I really don't think that matters; might as well name it Lean, Kanban, XP, RUP or whatever) and we're doing just that. It's working pretty darn well, I may add, primarily because of the near- continuous customer feedback.

<comment><USER12> It certainly doesn't sound like that's what he means. I expect "patch releases" means bug fixes and small tweaks.

In any case, the guy said they don't do agile. I am really loathe to try to go in and discover a way in which it could be interpreted as agile after the fact lest it feed into the whole consulting/book-selling/conference- organizing/koolaid circus that agile has already become.

<comment><USER13> "In any case, the guy said they don't do agile. I am really loathe to try to go in and discover a way in which it could be interpreted as agile after the fact"

Amen!

Classifing any project with a practice passing resemblance to _some_ "agile" practice as an "agile project " just leads to the twinned "all successful projects were _really_ doing agile whether they knew it or not" and the "any failed agile project didn't do "proper" agile, even if they said they were" fallacies.

This is especially weird since "agile" really didn't invent anything (except maybe rigid TDD). It just packaged some "best practices" into one label. Short iterations was a known to be effective practice well before the advent of agile.

</comment></comment></comment><comment><USER14> The most successful start ups and products I've ever had the pleasure of building or working on were complete and utter nightmares as far as modern development methodology is concerned. Heck, I remember when we wrote MyBlogLog we didn't even have source control. The key is to get the product to market as fast as you can. You can fix your process later, you know, when you have more than one employee.

<comment><USER15> I'm not so sure about that. Speaking as a one-man startup who has moved recently from pre-modern to modern development methodology, using modern techniques like continuous deployment and dvcs (git) pay off pretty quick. Having a one-command deployment, for example, it's a huge time/stress saver when makin bug fixes or small feature changes several times a day.

<comment><USER14> Oh we had 1 click deployment too. It was FTP. :) That said, Capistrano is an easy way to make deployment much easier/fun/dangerous. I wish we'd had SCM and a deployment tool back in the day, but back then we just... didn't. Instead we had to focus on getting it right the first time, because there was no going back.

On my side projects I use cap+deprec+svn, so I completely understand the appeal. My point is that you don't have to use a bunch of tools, have tests, and/or use modern methods to be successful. Sure, it makes the journey easier, but its certainly no requirement for having a great product.

</comment></comment></comment><comment><USER16> Customer Development is probably best for Enterprise level applications where you can speak with the head of a 100-person team and get an answer for everyone else.

For consumer applications, however, you can ask 1000 inidviduals and get a "No" while your product could still be helpful to 4 million others. For example when I ask my friends to switch from Yahoo Mail to Gmail they usually answer "What does Gmail do that Yahoo doesn't?" or "This is fine for me".

EDIT: What if Twitter followed a customer development model? They probably would not have written a single line of code.

<comment><USER17> "For consumer applications, however, you can ask 1000 inidviduals and get a "No" while your product could still be helpful to 4 million others."

You are asking the wrong people then. CD just saved you a huge amount of heartache, by not trying to market to the wrong segment.

<comment><USER16> Le's say you are twitter founder pre-1st-line-of-code, who do you ask?

<comment><USER17> Whoever you have identified as fitting your hypothesis on early adopters. It's not rocket science.

<comment><USER18> So you ask the people who are most likely to give you the answer you want to hear.

<comment><USER17> That's the point. What are you missing?

If the people you think you are going to market to don't think your product idea is good, then you have nothing.

</comment></comment></comment></comment></comment></comment><comment><USER19> Am I the only one here who doesn't want to take software-engineering advice from a UI company? When it comes to engineering, I want to hear from Yodlee and what they're doing to solve problems.

</comment><comment><USER20> What's agility after all?

<http://en.wikipedia.org/wiki/Agility>

For me being agile is adapting to a changing environment. Animals are being agile to survive in their natural environment and we are agile to survive in our environment. If your "agile" mind tells you to slow down to get to something you do that. So if "waterfall" is the key for the next few releases then what's the problem? The "agile law" would have to draw up all the scenarios in the world to be word for word otherwise what agile means is: do whatever you want just get it done and I can share you this and that from my experience. It is basically passing on responsibility and judgment to the executioner after a bit of coaching ideally from past experiences. Think of a coach-football player relationship. This is how I see it and I hate this branding of it and of putting labels everywhere when it should be: "stop being an idiot and take it from there" - common sense

</comment><comment><USER21> Well written and informative but dangerously close to corporatese...

Mintspeak: _We've hired a bunch of great product folks and engineers, and all of them are Mint users, so we're typically "scratching our own itch"._

What we really mean: Don't need no stinkin' market research.

Mintspeak: _We're in an existing market where the pain is pretty acute and the problem domain well defined. Additionally, the incumbent competitors had basically neglected the market as unattractive._

What we really mean: We kicked ass.

Mintspeak: _...unlike most start-ups, we're dealing with people's financial information._

What we really mean: We run a serious business and you don't.

Mintspeak: _...we have a number of quality control and security processes that rival most financial institutions, and which would would be difficult to incorporate into an agile dev cycle._

What we really mean: Our secret sauce has nothing to do with the trend du jour.

Mintspeak: _...a big part of Mint's success was being in the personal finance space when the economy melted down._

What we really mean: We're good, but we're lucky too.

<comment><USER22> Mintspeak: We're in an existing market where the pain is pretty acute and the problem domain well defined. Additionally, the incumbent competitors had basically neglected the market as unattractive. _What we really mean: We kicked ass._ No, it has says, we only had to do reasonably well because competition wasn't putting in many resources to the problem.

Sorry but what they say is clear and only slightly corporate but what you "translate" it to is less meaningful statements in snide "dudespeak".

</comment></comment><comment><USER23> It seems to me that their plan was to build the product and than sell it, to someone big, to integrate with something else. It's like they don't care a lot about adding new features or things like that, like they don't care about modern or old techniques. Just build it.

<comment><USER3> I think their main features were 'it's easy to use and pretty and it works well'. They cared a lot about those.

</comment></comment><comment><USER24> Continuous Deployment

That being said I think the smartest people generally don't care about asking a question when they don't know something. Cue feynmann.

Edit: oops meant to reply to someone here. iPhone failed me.

</comment><comment><USER25> "neither do we give a shit if we put our product up in a state that is pretty much unusable".</comment>


My Karma - <AUTHOR>

How can I increase my HN karma points rapidly? <comment><USER2> I've been reading hacker news for about 18 months or so, and signed up for an account ~9 months ago. Since signing up, I've contributed a fair amount of comments. Interestingly, most of the comments I've put the most thought and time into don't get any upvotes. Not because they aren't insightful (well, maybe they aren't), but because the thread itself didn't get any visibility or popularity. No big deal! I'm not here for karma! I'm here to contribute and gain insight. From some of the responses to some of my posts I've found flaws in my logic or reasoning. Or I've been able to see another view - that's worth more than any amount of karma.

Your goal here shouldn't be to get points. What's the value in that? Bragging rights? That doesn't seem consistent with the experience of the site. This is a site to contribute where you can, learn from people who are extremely intelligent and have great points of view and hopefully gain some valuable insight and experience without getting addicted to it! :-)

</comment><comment><USER3> I'd stop thinking of how to increase your Karma points and just participate on the site.

Share cool things (read guidelines for what's appropriate) and contributing to conversations with insightful comments.

</comment><comment><USER4> For what .... the only 'benefit' is you can downvote comments.

</comment><comment><USER5> Follow the guidelines?

<http://ycombinator.com/newsguidelines.html>

</comment><comment><AUTHOR> Don't karma points place my links higher?

<comment><USER4> No... you can have 10,000 karma and your submission still won't hit the front page unless other people like it and vote for it.

</comment></comment><comment><USER6> Participate frequently and insightfully.</comment>


Fly It Remotely - <AUTHOR> http://fir.im ONLY 2 STEPS To Distribute Beta Applications <comment><USER2> I've had trouble navigating the page with the scrollbar being hidden.

</comment><comment><AUTHOR> Chinese only ~</comment>


How much did you make off bitcoins or other cryptocurrency? - <AUTHOR>

Ive heard some friends making 6 to 7 figures off it. <comment><USER2> Threads like this rarely get answered by people who have significant holdings. Usual replies are "wish I bought in early" or "man I sold too soon" or "lost my wallet when the hd crashed".

</comment><comment><USER3> I'm sitting at 6 figures now, but haven't cashed out a whole lot yet. I still think it will succeed long term so I only pull out money as I need it.

</comment><comment><USER4> I've made in the low 5 figures so far.</comment>


Genetic Tweak Could Help Save Millions of Tons of Corn from Deadly Aflatoxin - <AUTHOR> http://www.seeker.com/genetic-tweak-could-help-save-millions-of-tons-of-corn-from-deadly-tox-2309565242.html <comment><AUTHOR> Related article with detail citations:

[https://www.sciencenews.org/article/how-grow-toxin-free- corn](https://www.sciencenews.org/article/how-grow-toxin-free-corn)</comment>


Ask HN: Your Programming Language Wish List - <AUTHOR> What do you want from your programming languages and tools that you don't have now?
What innovations would make your programming substantially better?
What upcoming language features/libraries/semantics/syntax are you excited about? <comment><USER2> I want something which brings functional programming, immutable data structures, and code-as-data macros (Clojure) to the statically-typed world of deterministic object lifetimes (C++).

I've been working on such a language for a year or so now [https://github.com/jeaye/jank](https://github.com/jeaye/jank) and it compiles to C++14. Trading data locality (due to immutable data structures) for more approachable parallelism might be a big win in the systems-level world. Removing OOP aspects entirely, and focusing on parametric polymorphism and functional programming will offer a different way of approaching systems-level tasks.

For situations where mutability, assembly, or the use of a C or C++ library is required, jank aims to offer seamless integration; calling into C++, using C++ types, etc, can be done without worrying about name mangling or marshalling.

It's still very new, and not yet usable, but the compiler is complete enough for me to have used it for real-time rendering in OpenGL, integrating the C calls directly into jank's type system.

<comment><AUTHOR> I like that you have an opinion about what should be different and are doing something about it (creating your own language).

What's the reason you want deterministic object lifetimes? So that you get predictable performance? Can reason about performance?</comment></comment>


Governor Vetoes Bill Requiring Procurement Consultants to Register as Lobbyists - <AUTHOR> http://www.techwire.net/news/governor-vetoes-bill-requiring-procurement-consultants-to-register-as-lobbyists.html <comment><USER2> These conflicts of interest are rampant.

Here is a recent example from San Diego by a company called Accela:

      Another hopeful using [lobbying company] Presidio's services
      is Accela, which wants to get a "contract for IT support
      services within the Development Services Department."
      Whether by coincidence or  not, John Sasson of Orinda,
      California, who is listed as  working in "business
      development" for Accela, kicked in $1050 for
      [San Diego Mayor] Faulconer's  reelection campaign on March
      17, according to a March 18 disclosure report.

Maybe Mr. Sasson is deeply interested in San Diego politics, despite living 500 miles away.

[http://www.sandiegoreader.com/news/2016/mar/30/radar-beer- mo...](http://www.sandiegoreader.com/news/2016/mar/30/radar-beer-money- influence-accela/)

<comment><USER3> So anyone can get government contracts by contributing $1000 towards a mayoral reelection campaign? Seems really cheap.

<comment><USER4> Buying political influence is generally a great deal. It should be taxed at 90% or so IMO.

</comment></comment></comment><comment><USER5> > _In March, the Fair Political Practices Commission (FPPC) voted to oppose > the bill and sent a letter to lawmakers urging them to reject it, raising > concerns that it would expand the commission's mission to a "highly > specialized area" of state contracts best overseen by the Department of > General Services, the Department of Technology and other state agencies._

Is the bill being vetoed to be re-worked, or is this an excuse to kill it?

<comment><USER6> It is usually hard to know what the real reason is in this type of situation. Politicians will say they are veto-ing to allow for a rework when they are really just killing it.

</comment></comment><comment><USER7> At SeeClickFix we have a policy that board members and officers may not contribute to political campaigns for this reason. Wrote this post about why a while back: [http://benjaminberkowitz.blogspot.com/2013/09/donations- by-g...](http://benjaminberkowitz.blogspot.com/2013/09/donations-by- government-contractors-and.html?m=1)

</comment><comment><USER8> The title on HN is blatantly editorialized. The actual article title: "Governor Vetoes Bill Requiring Procurement Consultants to Register as Lobbyists".

<comment><USER9> I disagree. Editorialized implies opinion. I don't think the fact that the bill is "transparency legislation" is an opinion. I think everyone agrees that's exactly what it's for. Whether it achieves it, is another question, and might worthy of a veto because it does not. But that's what it's trying to achieve.

<comment><USER10> Even if that was true, it is opinion that picks which "facts" to put in the title. If the title was "Governor Vetoes Bill That Would Have Cost State $1.3 Million," that would also be factual, but it is quite blatantly editorialized.

> Whether it achieves it, is another question

If a bill doesn't achieve transparency, then it isn't a piece of transparency legislation. It's a piece that someone claims to be transparency legislation, and that others disagree about, making it a matter of opinion.

<comment><USER11> Just because "some people" don't think a fact to be true, doesn't mean it's a matter of opinion.

This is a case of argument to moderation [1] - presenting dissenting opinions to factual evidence doesn't mean the "truth is somewhere in-between".

Example: Obama presents birth certificate, but "some people" (notably the current GOP frontrunner/nominee) dispute this. The reality is not somewhere in the middle... one side has facts.

[1] [https://en.wikipedia.org/wiki/Argument_to_moderation](https://en.wikipedia.org/wiki/Argument_to_moderation)

<comment><USER10> Sure, but none of that refutes my point. All you've done is point out a logical fallacy in a side comment I made, my argument didn't rely on the side comment.

If the bill _does not in fact_ achieve, or cannot be proved to achieve, more transparency, then saying it promotes transparency is opinion.

And my point about the _mere selective choice_ of words in a headline being subjective still stands.</comment></comment></comment></comment></comment>


Command Lines - <AUTHOR> http://directwebremoting.org/blog/joe/2009/05/27/command_lines.html

<comment><USER2> The only good ideas I saw in this post were shell-known argument semantics (perhaps via standardized --help output) and pipe inspection. The second idea is already available with the pv command.

> _What other things could we do to trick out the command line?_

The reason I use a command line is specifically because it's not tricked out.

<comment><USER3> _The reason I use a command line is specifically because it's not tricked out._

That's valid, but the reason I use one is that it lets me get certain tasks done much faster than I can get them done with the gui. I don't think we've reached the pinnacle of the form, though -- I'd much rather we could expand the areas where it's the fastest way to get the job done.

One weakness with the standard unix cli is in discoverability. The MPW environment for the original Mac had a great system for this -- option-enter on any command would bring up a gui with that allowed you to build up the options and flags. It was the perfect mix of GUI: invisible when you didn't need it, but vastly easier for the first use of an unfamiliar command.

That said, I think the people who think like you are in the majority of CLI users, so innovations like these will struggle to get traction. Sucks to be me :)

<comment><USER2> I agree - the CLI's biggest weakness is discoverability, and the feature you describe is nice way to address it. And it's the right way to add a frill - there if you need it, invisible if you don't.

Bespin's interface, on the other hand, is just obnoxious. It's great eye candy, but there's so much visual noise and wasted space that I could easily see it affecting productivity. I'll call it eye diabetes.

<comment><USER4> eyeabetes?

Or as Wilford Brimley might say, "eyeabeetus."

</comment></comment></comment></comment><comment><USER5> So it's an "improvement" to have half your screen taken up by "chrome" with little buttons that you have to switch to the mouse to interact with? I'll pass.

A better example of integration like this is eshell:

[http://www.xemacs.org/Documentation/packages/html/eshell_1.h...](http://www.xemacs.org/Documentation/packages/html/eshell_1.html)

</comment><comment><USER6> Huh, half the time, I use shell over ssh, on servers that do not even have X installed. How would all that eye-candy in Bespin be rendered? In ASCII?

</comment><comment><USER7> I can't imagine using this Bespin thing. Looks completely counter productive. Might as well just use GUI tools in conjunction with a plain ole' CLI. (best tool for whatever particular job you're doing -- the way most people use CLIs these days I suspect)

I am quite found of the fish shell as a slightly more modern approach to command lines. Having tab completion on apt-get for example is a huge time saver for me since I can't seem to remember exact package names to save my lives.

</comment><comment><USER8> This is nice, but seeing no mentions of Hotwire or PowerShell leaves me with a feeling of NIH.

<comment><USER5> I think the point of this article was to show pictures of rounded corners. Your shell _needs_ those, don't ya know...</comment></comment>


ObamaCare's Economic Dominoes - <AUTHOR> http://www.americanthinker.com/2010/04/obamacares_economic_dominoes.html

<comment><USER2> Wow, is this ever a load of partisan tripe. Anyone expecting private insurance companies to go out of business in America anytime soon is delusional. They wield too much influence. Not to mention despite his 'poor insurance companies only have a 4% margin', they make a crapton of money as is. Without a public option, that profit is here to stay.

<comment><USER3> A look at the history of insurance in general and medical insurance recently in Massachusetts will disabuse you of the notion that the government can not force insurance companies out of business.

<comment><USER2> Well, first of all, I think providing medical care to the poor outweighs keeping super profitable insurance companies in business. This country would be a LOT better off if we DID drive every insurance company out of business while providing higher quality healthcare to all of our citizens. We're the richest country in the world and our healthcare quality isn't even in the top 25. It's disgusting. Secondly, MA has a public option, which radically alters the landscape for for-profit insurance providers, of which there are very few in MA. Most are non-profit. This is really a good thing, IMHO, but also means the MA model provides no evidence for Obamacare driving for-profit insurance providers out of business. Thirdly, while the insurance companies wanted a better deal than the ACA gave them, overall it's going to be a net positive for them. We did just pass legislation requiring >30 million people purchase private insurance. Yes, the pre-existing condition requirement hurts them financially, as well as the rest of the regulations included, but, again, that's a good thing for us, even if it's bad for their bottom line. Geez, I'm not even sure why I wasted my time attacking an article from American Thinker anyway.

<comment><USER3> I'm not sure either, given that you're not willing to defend the main point of your reply.

<comment><USER2> I'm not sure which part of my response you consider not defending.

Throwing MA out there as 'proof' that the government can drive insurance companies out of business when the MA legislation has done no such thing, and even if it had driven companies out of business, the model and environment for the MA legislation is so different from the ACA legislation is hardly support for your argument.

If you want more specific points on how ACA is a net-win for the insurance companies, here: [http://industry.bnet.com/healthcare/10002208/insurance- compa...](http://industry.bnet.com/healthcare/10002208/insurance-companies- stand-to-benefit-from-reform-in-long-run/)</comment></comment></comment></comment></comment>


An Apology to Laura Fitton we're sorry we blew it - <AUTHOR> http://startupnorth.ca/2013/02/26/an-apology-to-laura-fitton/

<comment><USER2> I have to admit to my own mistakes. When reading the blog, many things did not make any sense, and searching for the name on the Twitter account in Google came up with nothing. No Facebook page, no blog, no Google+ account, no business or web site listing, no forum posts, no eBay listings, nothing on the name this Twitter account was using. It made me very skeptical and in my opinion I thought it was a hoax or staged, so I asked a series of questions. My words were taking out of context, edited in replies, and then deleted. All I was trying to do was find out the truth about the Tweeter and if it was faked or not.

After a series of hoaxes on the Internet like Manti Te'o girlfriend, who also could not be found in Google searches, I got outraged over it and blogged about it being a hoax. I apologize for it now, and I was out of line and admit my mistakes. I issue a public apology to Laura and all involved.

I hope that you can see why I was so suspicious and skeptical over it. usually when there is no trace in Google for someone, it just screams hoax, and fake account. Possible he used a fake name on Twitter and stole someone's picture just to make the tweet and then deleted his account. Did anyone find the man?</comment>


Ask HN: Why people are developing their own open-source OS? - <AUTHOR>

I fairy savvy in technology, but I've never fully understood this. After reading on HN about new releases of ReactOS and MenuetOS, I had a look at the list of Linux distributions http://en.wikipedia.org/wiki/List_of_Linux_distributions  . There are lots, I'm sure it's not a complete list and I believe there are many which are not Linux-forks.<p>A few noobie questions on the topic:<p>- What are the reasons people decide to start a new OS development project? (assume they are not backed by Google, Mozilla or other big organisation who can build commercial products with it)<p>- Why to maintain your own open source OS, and not to adapt or contribute to an existing OS?<p>- Who is behind these non-mainstream open-source OS? - What is the end goal of having your own open-source OS? <comment><USER2> Quite a number of people who are into OS development hang out around [http://osdev.org/](http://osdev.org/) and similar places.

I quote, from that site:

> Why develop an OS?

> There are various reasons why people choose to develop an operating system. > Each individual developer may have their own, but some reasons are common > among some (if not most) developers:

> * Having complete control over the machine. When developing an application > or other userspace program, the developer has to take the code written by > others into consideration: the operating system, the libraries, other > programs, etc. It is a powerful feeling for the only code to be running on a > machine to be your own.

> * Research. Quite a few operating system projects are started as homework or > research projects. While starting an operating system as a homework > assignment in a pre-tertiary or first-year environment is generally > considered a bad idea (due to short deadlines), a long-term project is quite > fine. Research projects are usually undertaken to improve on existing > operating systems. A common beginner mistake, however, is to underestimate > the time needed to write an operating system from scratch.

> * To replace the currently available operating systems. Maybe they don't > have a particular feature that the developer wants. Maybe they just > generally suck (Linux is bloated, Windows is unstable, etc). This may be for > profit; although any returns are likely to be a long time away.

> * Because it's fun. Low level programming is a fun and exciting task, > because you have to do everything. This may seem more difficult (it is, > don't worry) but by the same reasons more fun. You know how everything > works, how it all fits, and the inner-most workings of your program.

If nothing else, building your own operating system teaches you a lot about the internals of the magic suite of programs that run on your machine and makes them less mystical. Nothing compares to writing your own syscall or scheduler, and I certainly have learnt far more from my experiments than I would have if I had simply read Linux source code.

</comment><comment><USER3> Because you'll come out of the experience a MUCH better programmer; MUCH, MUCH better. In fact, until you've written a low level device driver and understood the complexities involved, you cannot really understand how much better a programmer you can be.

1) You get better because you learn to manage complexities that are simply not found in MOST application level programs; exceptions are stuff like high- performance database servers and their ilk. You should come out with a really good understanding of how to write multithreaded code, for example;

2) You learn to manage a really big project with lots of related, but complex interconnections;

3) There really is a huge benefit from learning just how a system works at the low-level in becoming a master programmer. Things like cache-issues, virtual memory management, are topics that you may not use everyday, but knowledge of how and what goes on gives you a whole new level of insight.

Anyone who wants to become a master programmer should implement a toy operating system (we can't all be Linus) and a toy compiler. Even better, implement a compiler and then implement the operating system using that compiler.

And the final reason: because it's amazing FUN. That is, if you really like programming. It's so complex, so much hard work and hard thinking, that when your first application program, just Hello World, actually runs to completion, you get high.

</comment><comment><USER4> > What are the reasons people decide to start a new OS development project?

Dissatisfaction with existing operating systems? A desire to advance the state of the art?

> Why to maintain your own open source OS, and not to adapt or contribute to > an existing OS?

You might as well have asked why people have children. Aren't existing people satisfactory? Why try something new?

> Who is behind these non-mainstream open-source OS?

What does "non-mainstream" mean? There is no main stream, either here or in nature. Evolution doesn't work that way. And OS development follows the rules of natural selection -- the fittest survive.

Look at Microsoft Windows -- it's about to be extinguished by its excessive size and inability to adapt to change. Just as with the dinosaurs -- because of their size, they were extinguished by an environmental change they couldn't adapt to. Smaller, more nimble creatures survived and took over.

</comment><comment><USER5> >>\- What are the reasons people decide to start a new OS development project?

They want to learn how to do it the hard way, they have ideas on how to do it better or just differently, why not?

>>\- Why to maintain your own open source OS, and not to adapt or contribute to an existing OS?

They don't like how others are written, they are ignored or repeatedly flamed by some community they were interested in, they want to be in control, they don't like the change cycle or direction of the OS that interests them

>>\- Who is behind these non-mainstream open-source OS? - What is the end goal of having your own open-source OS?

Aliens?, the Illuminati? Naw, jut geeks like us - for some folks low level OS development is a relaxing passtime.

</comment><comment><USER6> QwA</comment>


Ask HN: What hosting do you use for personal projects? - <AUTHOR> This was asked about 3 years ago: http://news.ycombinator.com/item?id=1005067<p>What is everyone using these days? (Of particular interest to me would be hosting with free usage tiers) <comment><USER2> I like dreamhost a lot and have an account with them, but deploying rails was a challenge so I decided on something easier. I'm competent enough to use ssh and command line to do basic things, but beyond that I have some trouble. After doing research to find a better hosting option I went with Webbynode.

<http://webbynode.com>

I use it for my rails based startup padseeker.com. It makes pushing code via git as easy as it is for heroku, but it is more flexible, i.e. allows file uploads w/o using s3, you can use mysql or postgres (heroku only allows postgres without another service). It's been overall a good experience, very little down time. Heroku might be better for certain things, but webbynode has been perfect for my needs.

It's not free though - lowest plan is $15 per month. I know digital ocean starts as low as $5 per month. Dotcloud and Appfog are either free or cheap and seem comparable.

</comment><comment><USER3> With a Virtual Private Server (VPS) you are your own "master and commander." You're root.

I use linode for my VPS. slicehost is similar. They both offer decent publicly available documentation/tutorials, so if you can't find an answer or path in "your" providers docs, you can hop over to the other guy's.

With shared hosting you're a user on their (possibly virtual) server, with permission to do things. You're not root.

pair.com offers shared hosting, I used to use them, very stable and sober company.

<http://www.lowendbox.com/> might lead you to a low cost provider, I haven't looked down that path.

I know a lot of people use <http://www.bluehost.com/>. I don't know if they're more VPS or more shared host. I know a lot of people use it to host actual businesses; a lot of those sites use Wordpress and various shopping cart and payment solutions.

</comment><comment><USER4> Webfaction is not the typical shared hosting. I got sold on this "We give you a full linux shell account with all the tools you need to compile anything you like, so our service is almost as flexible as a VPS. One big advantage of our shared hosting service is that we maintain the server and keep it secure for you. Also, the memory that we provide in our plans is the actual memory that is available to your application. With a VPS you also have to run the operating system, web server, database server etc in your allocated memory."

<http://www.webfaction.com/services/hosting>

Personally I bundle this with Cloudflare and it's been flawless!

Caveat: No CPanel! I find their control panel very intuitive to handle and uncluttered but if CPanel is what you're looking for then you're better off elsewhere

</comment><comment><USER5> These are what I use :

VPS Hosting - Linode(<http://www.linode.com/>)

Shared Hosting - WebFaction(<http://www.webfaction.com/>)

</comment><comment><USER6> Here is my comparison of current and upcoming PHP Paas Hosting Services: [http://blog.fortrabbit.com/comparing-cloud-hosting- platforms...](http://blog.fortrabbit.com/comparing-cloud-hosting-platforms/)

I strongly believe in this kind of service - old school hosting is dead meat in my eyes. Shameless Pug: We recently launched our own PHP PaaS

</comment><comment><USER7> Just throwing this out there, my startup tracks which web hosting companies people like the most based on opinions shared in social media: <http://reviewsignal.com/webhosting/compare/>

I am personally on liquidweb and aws. free tier on aws is great for testing stuff not on my local machines.

</comment><comment><USER8> <http://www.thehosthouse.co.uk> or <http://www.edis.at> If you are on a budget and/in Europe. I use both. No problems so far(Its been almost a year).

</comment><comment><USER9> Another vote for Google App Engine. Easiest to set up that I've found with a free tier. I was looking at AppFog too but never really got started.

Anyone want to explain why iamgopal's post got marked as link - dead?

</comment><comment><USER10> I'm currently using VPS services from buyvm.net. However, if business depends on it I've been using EC2 with good results.

</comment><comment><USER11> Another vote for Linode .. slightly pricer than others but high quality + root access for my zany schemes

</comment><comment><USER12> For personal projects Shared:Bluehost VPS: Linode

</comment><comment><USER13> webfaction was a good one, i was with them for a long time. I now go VPS so I am in full control.

</comment><comment><USER14> webfaction. I think they offer great value for money and their support is awesome :)

</comment><comment><USER15> Hosting24.com

</comment><comment><USER16> webfaction www.webfaction.com

</comment><comment><USER17> Shared: Bluehost

VPS: Linode

Other: AWS</comment>


My pragmatic decision on GNU Emacs versus vim for my programming - <AUTHOR> https://utcc.utoronto.ca/~cks/space/blog/programming/CodeEditingVimVsEmacs <comment><USER2> I use Ubuntu. I am currently firing up Visual Studio Code rather than Emacs. I'm using a mod/add-on/package/whatEverItsCalled for Emacs keybindings. I get Emacs keybindings for Firefox with Firemacs. I get Emacs keybindings in Bash.

For a second set of editor commands, I've got ctrl-v, ctrl-x, etc. I'm not sure I need a third, less common set, which is how I've evaluated learning Vim. Though maybe the learning exercise might be worth it, I mean I tend to like modal applications.

Anyway, the thing about emacs is that there's a good chance that an application that edits text and allows keybinding will have Emacs bindings somewhere and that they will either be completely worthless or really good but only rarely not quite so bad as to be not worth using but still painful.

</comment><comment><USER3> I came to some of the same conclusions as the author of that article. I tend to use vi and am quite good at it when emacs is not available (mostly on remote Ubuntu or Debian servers) and emacs for my own programming or an IDE at work when that is recommended and it is purely a pragmatic decision not a dogmatic one.</comment>