Alexis Ohanian is speaking at Justin.tv Thursday the 26th at 5:30pm (Tomorrow) - <AUTHOR>

Reddit co-founder Alexis and his good friend 'Pierre' will be here at the JTV office to talk about his experience in Web 2.0 startups and a bit more! Free pizza served at 5pm.
Everyone is welcome. We're located at 36 Clyde St. San Francisco. Please RSVP email@example.com
You can also watch online at http://www.justin.tv/hackertv <comment><USER2> is there an archive of the talk?</comment>


Show HN: SnickSnaps.com -best way to view Craigslist - <AUTHOR> http://www.snicksnaps.com/

<comment><USER2> Clean meaningful markup that works without js makes you far better than the median web author. It'd be nice if the images were also links, since the titles are pretty small Fitts' Law targets. Nobody is in the market for _everything_ so I'd want to filter on price and maybe words like brands.

Have you considered how Craigslist reacted to PadMapper? So far they have not been happy or even coöperative about people building better alternatives to their UI. Good luck.

<comment><AUTHOR> Thanks for the feedback! We're going to be working on images being links. We heard about what happened to PadMapper but we still figured this is a nicer way to browse, nicer UI, etc.

</comment></comment><comment><AUTHOR> Me and a buddy built this over this site over the weekend. We believe that pictures sell and that people want to see what they're buying. SnickSnaps posts craigslist ads that only have images in an easy to browse way. So far we're only showing 3 categories to see the feedback on what we've done so far.

</comment><comment><USER3> I applaud the effort. With all the recent hubbub surrounding Padmapper I would have expected startups to avoid messing with Craigslist.

The best way to get a giant like Craigslist to move is to step on its' toes.

</comment><comment><USER4> Nice sleek design, I think this would definitely be much more appealing to browse through craigslist.

</comment><comment><USER5> Awesome website!

<comment><AUTHOR> thanks a lot!</comment></comment>


Cardpool (YC W10) Speeds Up Gift Card Selling By Removing The Snail Mail Option - <AUTHOR> http://techcrunch.com/2010/12/20/cardpool-speeds-up-gift-card-selling-by-removing-the-snail-mail-option/

<comment><USER2> I'm a fan of Cardpool. I've purchased two orders of iTunes cards already, and I've told a friend about it who's made a purchase. Glad you guys are becoming even more efficient. But, what's this technology? Can you say anything more about it?

Seems you can't guarantee that the person doesn't sell a card to cardpool and then go out and spend the money quickly. Unless you can maybe contact that company and request a re-issue with a different number? Or you just trust that the seller is honest and in the rare (?) case they screw you you don't do business with them and just eat the loss. Or something I'm not thinking of...

<comment><USER3> I just checked. They require a CC# from anyone they pay online, in case the seller does just that.

<comment><USER4> I doubt they could charge that cc in that situation.

Would only prevent recurring fraud per cc.

</comment></comment></comment><comment><USER5> When you guys getting rid of the $25 requirement? I have lots of partially used Gift Cards that I'd love to get rid of.

Do competitors to cardpool offer that?

<comment><USER3> My 5 secs searching says: Plastic Jungle has a $25 req. Card Woo, another competitor, has a $20 min.

<comment><USER5> Thanks for doing 5 seconds of searching ...

So that feature could be a competitive advantage for CardPool. If they can already move money between cards like this new feature suggests, maybe this is in the realm of possibility.

</comment></comment></comment><comment><USER6> I don't know if they work like this, but can you guys buy up a few small dollar gift cards and then combine them onto a single bigger value card?

</comment><comment><USER5> Wow, how is that possible? Would there have to be special arrangements with each store?

</comment><comment><USER7> I like that it's the perfect e-shippable product. I dislike that gift cards are, at an economic level, kind of a scam, a topic Slate has covered well over the years:

<http://www.slate.com/id/2111769/>

<http://www.slate.com/id/2179320/>

So my favorite gift cards are those from the Federal Reserve, with Presidents on them. Accepted almost everywhere!

</comment><comment><USER8> nice job, Anson :)</comment>


Ask HN: Founders, have you ever mentored someone or been mentored? - <AUTHOR> I've read that having a mentor can really help when you're a startup founder.
But how do you set up an effective relationship?
Do you have regular meetings? How often?
Is it helpful to have a standard agenda? What gets covered?
Would love to hear your experience. <comment><USER2> Much like you'd have a relationship with anyone else. Like dating or jobs, you can hardly be passive about it. You have to go and search for one.

My first experience with mentoring was when I ranted about a bunch of stats on an online game. I impressed someone who asked me to be his mentor. He helped me gather more data, I helped to process them and taught him how statistics worked. It was incredibly fruitful both ways, probably my benchmark of what mentoring should be like.

There's another more regimented way, which I used with my thesis supervisor in university and a mentor at an incubator. Set up a meeting time, same time each week. Show what progress you've made. They'll comment on it. The mentor gave me some good insights, such how I shouldn't have designed it as Tinder, or how I should spend a week planning out my UI and testing it with people. I told him that in a week, I could build a full app and launch it to real people to test, and that's story of how I made a startup in 2 weeks and got a thousand downloads overnight.

Sometimes all the talk is just rubber duck debugging. I'm not even sure you need a proper mentor sometimes. Something like a devlog and fan base could work as well.

Mentors are best at spotting things you've never heard about though. There were many times when I considered a career path and a mentor just points out the starting point or tells me how others on that path fared.</comment>


Show HN: HN Special – A visual theme and Chrome extension for Hacker News - <AUTHOR> http://gabrielecirulli.github.io/hn-special/ <comment><USER2> Nice, but I find it a bit too hard to read. On my Stylebot style, I reduced the orange to just a highlight colour. I find it pretty pleasurable to use. Feel free to take anything from it that you want: [http://stylebot.me/styles/2800](http://stylebot.me/styles/2800)

 _Some of the selectors in the CSS are very contrived. I found it was the only way to select what I wanted in a document made of tables within tables with barely any classes._

Also, I totally feel you on this! The underlying HTML for HN is absolutely terrible.

<comment><AUTHOR> Oh yeah, I see. I think I'm going to try and implement a low contrast theme, with grey links and easier to read text. Thanks for the link, I'll have a look at it!

<comment><USER3> High contrast! Let me see the website not squint and guess!

</comment></comment></comment><comment><USER4> Great work, though it's a shame it's a browser extension. You can't use it on Firefox or mobile.

There's a site, tomodo.com, that allows you to modify webpages much like a greasemonkey script or a browser extension and then publish it as a native website. I'd suggest you'll look into that.

<comment><USER5> Looks like there is a Hacker News mod already.

[http://hnews.tomodo.me](http://hnews.tomodo.me)

</comment></comment><comment><USER6> I always use [http://hckrnews.com/](http://hckrnews.com/) and not the normal frontpage. Many small gems without many upvotes get lost on news.ycombinator.com.

<comment><USER7> Fantastic, thanks for posting. I understand the design aspects of these skin extensions, but I don't want to scroll more than I already do to see the same content.

</comment></comment><comment><USER8> Lately I've realized that most of new extensions and applications are specifically designed for Chrome.

I stay loyal to Firefox, but it looks like it has fallen a bit behind.

<comment><USER9> Same here. There are quite some extension I find attractive but can't use because I remain celibate to Firefox.

</comment></comment><comment><USER10> It's nice, but thin fonts are very hard to read (screenshot: [http://uk.omg.li/QPvZ](http://uk.omg.li/QPvZ))

<comment><AUTHOR> Oh, damn that's a mess. What OS is that?

<comment><USER10> Chrome 28 on Mountain Lion [http://uk.omg.li/QP02](http://uk.omg.li/QP02)

<comment><AUTHOR> That's very strange, I'm running the same setup as well. Have you installed any system tweaks that change the way fonts are rendered?

<comment><USER10> Yes, but a font-weight of 100 is never a good or useful thing, it's terribly unreadable

</comment></comment></comment></comment></comment><comment><AUTHOR> Many thanks to everyone for the feedback! I'll try implementing the ideas you've given me (easier to read colors and other tweaks).

For those who've installed the extension, it should auto-update when new features come up and you should be notified of the presence of new modules and the low-contrast theme.

</comment><comment><USER11> Good job on the extension. I did have a couple of suggestions:

1\. Have an alternate "dark" theme version for those of us who like dark backgrounds as opposed to bright eye-popping colors.

2\. Similar to the "Open links in new tabs" option, would it be possible to add a "Open comments in new tabs" option?

<comment><USER12> Here's a dark theme I created in Stylish. Code: [http://pastebin.com/BhZTuwJV](http://pastebin.com/BhZTuwJV) Screenshot: [http://i.imgur.com/cnrYGdR.png](http://i.imgur.com/cnrYGdR.png)

</comment></comment><comment><USER9> Collapsible comments are my top priority for a hacker news extension. It looks really neat though.

</comment><comment> k-mcgrady I just installed it and really like it however when I scroll (quite slowly) down the main page though the text and background blur together so that I can't see anything. I'm not sure if it's because of the thin fonts of the font colours (the headlines seems to blur the most) but it's quite annoying. I'd normally scroll at that speed and be able to skim the headlines. It's impossible to do with the blurring.

</comment><comment><USER13> I've just installed it and I'm liking it. The links are a bit hard to read on the home-page (they are a bit faded) but otherwise it looks good. Thanks!

<comment><AUTHOR> I'm glad you like it!

<comment><USER14> I like it also. My Special Eyes have trouble with default HN. For me, like orf, the faded colors are a bit of a strain.

Also, if I don't open a story in a new tab, but go out and back, I sometimes have trouble finding the entry I just used (and its comments). A color for "just visited" would be nice.

</comment></comment></comment><comment><USER15> I really like it. To be honest, I prefer it more than Georgify [1].

[1] [https://chrome.google.com/webstore/detail/georgify/ofjfdfale...](https://chrome.google.com/webstore/detail/georgify/ofjfdfaleomlfanfehgblppafkijjhmi?hl=en)

The only problem I have with it is that after opening comment section, the design pops-out and overwrites the original design.

<comment><AUTHOR> How do you mean? Are comments hard to read?

<comment><USER15> Technically speaking, old design for comments are loaded and then, using JavaScript, it's replaced with the new design.

</comment></comment></comment><comment><USER16> I'm just say that the colour contrast is atrocious. I've got pretty good eye sight and the text on that screenshot looks blurry. Both the unvisited and visited link states fail at AA colour contrast accessibility levels.

[edit] - It took me a while to find the install link. I thought it was a heading. Why don't you use an underline for links?

</comment><comment><USER12> I usually like my news sites to have a darker theme, so I quickly threw this together in the Stylish Plugin, to work with your HN Special Extension [http://pastebin.com/BhZTuwJV](http://pastebin.com/BhZTuwJV) . Just added the style to work with URL's on the domain "ycombinator.com"

<comment><USER12> here's a screenshot for those who just want an easy comparison [http://i.imgur.com/cnrYGdR.png](http://i.imgur.com/cnrYGdR.png)

</comment></comment><comment><USER17> I really love the infinite scrolling. I think there should be a bit more contrast. It is hard to read the light colored orange on white. Also the visited (light light orange) is a pain. And maybe highlighting the points a thread has would be a nice feature too. Maybe another darker color for that.

<comment><USER18> Infinite scrolling is good, until you want to use the search box!

<comment><USER19> Yep. I would suggest to add a position: fixed to the header. And place the searchbox there of course.

</comment></comment></comment><comment><USER20> I like the overall design but the links are too light orange which make it hard to read. Design's number one goal is to 'get out the way of the user'. Change the link color to something with more contrast against the white background. Then I'll really like it.

</comment><comment><USER21> I like it. It's about time someone do something about it or I was planning to do something like that myself. It would be awesome one could customize the color and fonts and stuffs like that.

The active hyperlink is too fade to read. Please change that.

</comment><comment><USER22> Did you test it on a MBPr ? The screenshot looks really blurry here. EDIT: it's just the screenshot, the actual extension works fine. A bit more contrast would be appreciated though. Maybe a different background color for links ?

<comment><AUTHOR> Glad it's working fine for you!

</comment></comment><comment><USER23> Very cool! I just forked it, thinking of implementing collapsible comments.

</comment><comment><USER18> Nice one.

BUT!, it's strange, maybe because I'm SOO used to HN (like I'm soo used to Google), I had to change back. Is it just a case of "you'll get used to it"?

<comment><AUTHOR> I think so. Maybe try it out for a day or so. If anything's wrong, please let me know what you think!

Oh, by the way: even if you like the features but not the theme, you can easily disable the theme only from the settings menu at the top (the gear icon in the header)!

</comment></comment><comment><USER24> Fantastic! I've only one suggestion. I'm using a Macbook Pro (Retina), and the up-arrow icons are extremely blurry. Other than that, everything looks amazing. :)

</comment><comment><USER25> Thank God for the new interface. Despite the bright orange, I will never go back to original Hacker News. Please implement it for HN India too :)

</comment><comment><USER26> Too much orange. Difficult to read fonts. If only it had some more soothing colors, I would use it daily! Nice though!

</comment><comment><USER27> It looks so crisp and nice, but the upvote arrows are soooooo bad. If you could replace those it would be amazing.

<comment><AUTHOR> Oh yeah, I'll try replacing those soon.

</comment></comment><comment><USER28> Ow...that visual theme hurts my eyes.

</comment><comment><USER29> Just installed it and think it's superb. I hope HN takes some influence from your extension.

</comment><comment><USER30> Please, make it 100% width ! PLEASE!

<comment><AUTHOR> Good idea!

</comment></comment><comment><USER31> Excellent work!

HN is like Craigslist in a UI/UX sense, very conservative (or they don't care at all).

<comment><USER8> Yet both work perfectly.

Other example is the Slackware website: [http://www.slackware.com/](http://www.slackware.com/)

<comment><USER31> Slackware will always be slackware! Its been awhile since I visited their site (like early 2000's). It still looks the same!

</comment></comment></comment><comment><USER32> It's really nice, but not a regular Chrome user. Somebody loves the OS X Mavericks theme!

</comment><comment><USER33> Am I the only one that can't read the visited links without some serious eye strain?

<comment><AUTHOR> Is the color too light?

<comment><USER34> It does need some more contrast. Also, while I do appreciate the elegance overall (I'm a UI designer as well), the vertical space could be tightened up a bit to get some more comments on a scree. Perhaps adding some options to the extension to allow toggling between a "Tight" and "Airy" stylesheet?

</comment></comment></comment><comment><USER35> This is lovely. Thank you!

Would it be possible to port this as a Safari extension? Thanks again.

<comment><AUTHOR> Probably, yeah. I'm not sure how development for Safari works, but I could give it a try soon.

</comment></comment><comment><USER36> Please,please,please implement the Firefox version..

</comment><comment><USER37> I love it!</comment>


Ask YC: Comfortable Monitors - <AUTHOR>

I recently splurged a few hundred bucks on a nice 21" widescreen monitor. The problem is, it hurts my eyes. I can't tell whether the problem occurs because the screen is glossy, the screen is unusually bright, or if it's something inherent in the widescreen itself. I have never had problems with monitors before, even very low-end ones.<p>My question is: have you discovered that certain monitors are comfortable or uncomfortable for your eyes? What characteristics cause the difference for you? Is there any monitor that you would particularly recommend? <comment><USER2> The glossy ones are a lot of hype with very little substance. I have a glossy screen for my laptop, but if I had the chance to do it again I would opt for the regular one. The glossy screens reflect a lot of ambient light. If you're in an office environment, near a window, or even in a light area, your eyes might have to strain to make out the information through the reflection. If this is the case then it could certainly explain the hurting eyes.

If your monitor supports this, try dimming the screen's brightness and see if that helps. The reflection/glare will be intensified, but it won't be as bright. This way you can test to see if it's one or the other. If your eyes hurt more, it's probably the glare. If they hurt less, or just the same, it could be the brightness.

In either case, try a non-glossy screen so that you can really compare the differences and see which one is easier on your eyes.

As for the wide screen, I don't think it will bother you any more or less.

<comment><USER3> _The glossy ones are a lot of hype with very little substance._

What surprises me in this sentence is that glossiness is even marketed as a feature? I reckon it's been a while since I last shopped for a monitor or a laptop, but this leaves me perplexed. What are the supposed benefits?

The only explanation I can find is that it's a matter of fashion, started by OS X GUI theme and continued by Vista?

<comment><USER2> Glossiness increases the contrast between lights and darks so that movies and other things look crisper. You find it mostly on media-centered systems. On a lot of laptops it is either the only option or available for about $25 more.

I don't think OSX and Vista have too much to do with it. My brother's Macbook doesn't have a glossy screen and I'm not sure they even offer it. I'm not sure about the other models though. Vista is only software, since MSFT doesn't make the hardware on PCs, so I don't see how that contributes to glossy screens.

The reason I would give for it is that it is a way to add a feature to a product that differentiates it from other products. It doesn't matter that the glossy screens have enough negative effects to counter the 1 advantage. Company A came out with it to sell more computers, so companies B, C, and D all had to develop their own version to compete. Consumers can be silly that way. I was.

<comment><USER4> Actually, MacBooks only come with glossy displays, you have no choice over it. The MacBook Pros come with glossy or matte, you choose.

<comment><USER2> I think Apple might have a different process for making their screens, because my brother's macbook doesn't look reflective at all. They probably just do a better job with their glossy screens.

</comment></comment></comment></comment></comment><comment><USER5> Have you had your vision checked recently? You might need glasses.

Another issue is that you need frequent breaks from looking at a screen. At least every 5-15 minutes, you should take a break and look at something further away and let your eyes focus on it.

I also have an Ergotron adjustable stand for my central monitor. That way, I can move the monitor backwards and forwards every so often to let my eyes adjust to different focal lengths throughout the day. And, I can change position in my chair.

<comment><USER6> +1, Ergotron. Much more useful than you would actually think. You can change the monitor's position and angle to _anything you want_ , multiple times per day.

</comment></comment><comment><USER7> I discovered that newer LCDs hurt my eyes due to their intense brightness. I causes me to squint, and if I do that for a whole day I get intense headaches.

My solution:

1) turn down the brightness

2) change your editor to a black background

Especially step 2 did wonders for me.

<comment><USER8> Definitely black background.

</comment></comment><comment><USER9> It could be the brightness.

I am going to go with a random guess here: You have large pupils. I have large pupils myself and it was actually a slight risk for laser eye surgery and my night vision is a bit blurred (not from the laser eye, from the large pupils). I find most new LCDs too bright and it hurts my eyes. I am forced to turn down my new HDTV to 50% brightness!

So, turn down the brightness and be careful with laser eye to ensure the equipment is suitable for large pupils (most newer lasers do a much larger radius than the first ones).

Or, I am way off and its something else :)

</comment><comment><USER10> I got a laptop with a glossy screen because it makes things much more interesting when you show other people, but connect it to a matte display for development.

</comment><comment><USER11> Characteristics that make a difference, in no particular order: a) Diagonal length & resolution b) Sharpness c) Brightness

I do not game much, if you do, response time may be a sticking point. I recommend reading up on TFT-LCD technologies: <http://www.tftcentral.co.uk/articles/panel_technologies.htm>

This article may be of interest as well: <http://www.pureoverclock.com/article641.html>

I own a 20" Viewsonic Vx2025wm hooked up to my desktop linux and sometimes windows machine and a 24" BenQ FP241VW running in tandem with my MacbookPro.

I recommend the BenQ monitor.

</comment><comment><USER12> I'll chime in with "Turn down the brightness." Monitors seem to come with it turned up too high by default - probably because it looks better on display in a store.

</comment><comment><USER13> I find that my Dell laptop bothers me when uncalibrated.

The Pantone Huey is what I use to calibrate my Macs and PCs, and it makes a huge difference, with my Dell Precision Laptop being much much easier to work with after calibration.

[http://www.amazon.com/Pantone-Monitor-Color-Calibrator- MEU10...](http://www.amazon.com/Pantone-Monitor-Color-Calibrator- MEU101/dp/B000CR78C4)

</comment><comment><USER14> Non-glossy, non-TN (MVA/PVA/S-IPS only), low brightness, no buzzing/high- pitched noises. Then adjust monitor distance from your head. Check hardforum's Displays section - good widescreen monitors start at $700 (since most of the 21-22" panels are TN)

</comment><comment><USER15> <http://www.poynton.com/notes/reducing_eyestrain/index.html>

</comment><comment><USER16> You probably got a TN panel.

</comment><comment><USER17> i'm developing using and iMac 20", it's great, and I've added another monitor where I run consoles and log viewers all the time (20").

The iMac LCD is amazing.

</comment><comment><USER18> how can we have an opinion if we don't experience looking at your monitor?</comment>


How to build stable systems - <AUTHOR> https://medium.com/@jlouis666/how-to-build-stable-systems-6fe9dcf32fc4#.r4v1g781g <comment><AUTHOR> Eventhough opinionated, this is one of the best reads for me! Definite reassurances and takeaways.</comment>


Why (Not) Do a PhD in Computer Science? - <AUTHOR> http://blog.skanev.org/2013/03/why-not-do-phd-in-computer-science.html <comment><USER4> I like the reasons described in the post. I would like to add one more that was really important for me when deciding to do a PhD in CS - learning to write papers.

While it may seem like a burden for some people, I think that describing your research in a very limited space (something like 8 pages) teaches you very valuable skills. You should also write it in a way that most of the readers will understand your ideas easily, considering the fact that the readers and even conference/journal reviewers often have very different backgrounds. I have seen papers with very good results being rejected because of bad explanations and also not so impressive papers that get accepted because they are very nicely written.

<comment><USER5> This is important to me. It is the reason that most of the jobs I am interested in require a PhD. Outside of the start-up and web space, there are actually a lot of industrial research jobs that will not even give your resume the time of day without a PhD because you are expected to produce technical literature and patents. I thought it was kind of funny in the article how they still mentioned the "I want to be a professor" reason. No interest in that rat race.

<comment><USER6> Don't those kinds of industrial research jobs also usually require the kind of publication track record that you have to acquire in academia to survice?

Do industrial research labs really employ freshly minted PhDs - who probably haven't acquired the most important skill in modern research: the politics of attracting funding/backing?

<comment><USER7> > Don't those kinds of industrial research jobs also usually require the kind > of publication track record that you have to acquire in academia to survice?

Yes.

> Do industrial research labs really employ freshly minted PhDs - who probably > haven't acquired the most important skill in modern research: the politics > of attracting funding/backing?

Yes. How do you expect freshly minted PhDs to learn the art of attracting funding and backing?

<comment><USER6> The black arts of attracting funding seems to be what junior academics spent considerable amounts of time doing when I worked in academia - mind you that is going back a bit so wouldn't surprise me if things have changed a lot.

<comment><USER7> Keep in mind parent was talking about industrial labs, where funding is obviously a bit different. I don't really know much about academia beyond what I hear from peers.

</comment></comment></comment></comment></comment></comment><comment><USER8> Never do a PhD for the money. Ever. It's not worth it, compared to using your skills to get a good education BSc / MSc and then start your career. You miss so many years of good income, plus income growth and will always stand out as the theoretical type.

That being said: it's all about curiosity and people. So if you're curious and have the time / money... go for a PhD!

<comment><USER9> I know of three PhD's in comp sci that went straight into Goldman Sachs (and one hedge fund) where they immediately started earning far more than those of us that left Uni with our Bachelors.

They work in high frequency trading mainly using Java.

<comment><USER10> Interesting. I wouldn't have though Java was suitable for HFT due to garbage collection pauses playing havoc with your system determinism and performance reliability.

I supported a derivatives trading system written in java that was canned due to performance issues, and where I am now we had java FIX protocol gateways that we've replaced with C++ components, again for performance reasons.

I'm not saying java has performance problems in general, I do understand that for many applications it's a good and performant option, but when you're dealing with sub-millisecond response times it has issues. If anyone is using Java for applications like this, I'd love to know how they get round these issues.

<comment><USER11> Nah...there's tons of workarounds these days which make things way faster / less latent. Couple quick examples:

* look at memory mapped data in java (basically using sun.misc.Unsafe lets you deal with things like malloc and free)

* look at increasing use of primitives and collections that utilize primitives appropriately

* properly profile / size your eden space

yada yada ... i think a lot of HN people have generally just wrote off java as not as fast as C, not as productive as python/ruby, and not as exciting as lisp, haskell, FOTM. Java's a fine tool like anything else...just need to use it appropriately.

</comment></comment></comment></comment><comment><USER12> You need to be aware that PhDs often make less or the same income as a "professional" degree holder does (for a higher student loan burden). That means if you feel that the experience will be personally enriching, the fact that it might not be financially enriching may not matter.

<comment> barry-cotter 1\. Professional degree does not need scare quotes.

2\. US professional degrees have dropout rates of 3%, approximately. The Ph.D. with lowest dropout rate, engineering, has a 35% dropout rate. Pretty much everyone who can be admitted to a Ph.D., funded is a guaranteed admit to a pro programme that will on average make them more money.

One should do a Ph.D. if one will not regret it even if one never holds a faculty position, i.e. it's more consumption than investment, or if one got into a TOP programme in one's chosen field. Economics seems to be in the process of collapsing from top 5/6 to top 2, CS has been 4 for a long time, but the principle is the same everywhere.

<comment><USER12> > Professional degree does not need scare quotes.

That wasn't meant to attract undue attention to it, only because the term has no universal definition.

Apart from economic issues I agree with your points. If someone expects the Ph.D. to pay off in straight economic terms, different story.

> ... guaranteed admit to a pro programme that will on average make them more > money.

By "pro" did you mean Ph.D.? If so, not any more, not necessarily. The economics are changing, and the combination of rising costs and the fact that a Ph.D. candidate is out of the job market longer, conspire together to make it a less attractive option. There are cases where a Ph.D. graduate makes less money than a professional degree in the same field.

I'm not disagreeing (and I'm not sure I understood you), only saying things are changing and the claim isn't true across the board.

<comment> barry-cotter My lack of communication skills strike again. Pro programme meant professional degree programme. Doing a Ph.D. for the money is a terrible idea. Anyone who can get into a Ph.D. programme can do another 2/3/4 years of undergrad (MBA/JD/MD) and even ignoring the time spent getting ones degrees all of those will have better pecuniary outcomes than getting a Ph.D. for the kind of person who can get into a programme and especially for the kind of person who can actually graduate with a Ph.D.

</comment></comment></comment></comment><comment><USER13> "I do it because I'm intellectually curious (aka I like new stuff)"

I hear that a lot, and I hear the argument that industry doesn't give you that type of opportunity, but I firmly disagree: in many places, people with bachelors or masters degrees are put in research positions in setups that resemble the Bell Labs of lore. And while most software shops aren't doing new things, a growing number of large firms are exploring new frontiers. (and even some finance firms, god forbid)

"a PhD teaches you how to ask the right questions"

What you need is a mentor, and a surprising number of people who decided not to do a PhD have the right mindset and actually help train people.

"Take this argument too far and you find yourself in theoretical math,"

Many of the people at the forefront of industry work find themselves delving in theoretical math (as a really oft-cited example, functional programming drawing from category theory)

"a lot of smart people tend to do research and PhDs. "

A lot of smart people decide that the PhD is heavily bureaucratic and that it would be easier to do more intellectually stimulating work in industry.

"I do it because of vanity"

Fair enough :)

</comment><comment><USER14> I've been recently faced with the same choice. I'm finishing my master's degree (in Europe, where a master is a prerequisite for a PhD).

There were a combination of things that decided me. One is that a PhD is not that much of an asset in the workplace. Especially considering the consequent time investment. Another is that you have to deal with all the BS of academia: doing research that doesn't interest you with your promoter, writing papers with little to no interesting content, etc...

Academia also has that "symptom of immaturity, the dread of doing what has been done before". There are many topics, often well studied which could use a clarification/simplification of the theory. Or you could make a tool for a particular domain that doesn't suck.

All in all, I think I prefer to get a "regular job", and toy on the side.

<comment><USER7> Only do a PhD if it can get you the time to pursue topics you are truly passionately interested in. It sounds like you shouldn't pursue one, which is fine.

</comment></comment><comment><USER15> ... because you will learn more by working in the wild, including why many real-world engineers have a vague disdain of academia - especially in the genuinely difficult fields.

Maybe it differs away from software engineering - but my experience of grads, even Oxbridge PhDs is that I will code circles around them with what I learned off my own back in my spare time... and mainly because I learned it off my own back - or in many cases reinvented solutions without any hints or assistance.

Sorry. I'd like courses to produce valuable, employable engineers - <USER3> experience is that they do not.

<comment><USER16> ... because you will learn more by working in the wild, including why many real-world builders have a vague disdain of academia - especially in the genuinely difficult fields.

Maybe it differs away from architecture - but my experience of grads, even Oxbridge PhDs is that I will build circles around them with what I learned off my own back in my spare time... and mainly because I learned it off my own back - or in many cases reinvented solutions without any hints or assistance.

Sorry. I'd like courses to produce valuable, employable builders - <USER3> experience is that they do not.

</comment></comment><comment><USER17> I like some of the reasons the OP has listed (great skill set, intellectually curious) and because of those I was planning on doing a PhD after I finish my BSc (4th year now).

However, after careful consideration, I realized that: 1\. I am not entirely sure if my enthusiasm will be enough to push me through a PhD 2\. You can obtain a great skill set, meet loads of smart people and work on intellectually stimulating problems in industry, too.

That's why I plan to work for some time and then re-evaluate my situation and maybe apply for a PhD, who knows.

</comment><comment><USER18> Ok..I did it in the early 90s. In my case, It was nothing but a slave labor. What I meant is, while I was doing the same kind of work that I currently do for corporations, I got paid a pittance while the school and the project sponsor gained much. Having said that, I would do it all over again. I really enjoyed the campus life 5 more years! :)

</comment><comment><USER19> If I could get into a PhD program in trusted computing/tamper resistance (which basically consists of...Cambridge University; nowhere else is doing worthwhile academic work), I'd seriously consider it, but since I dropped out of undergrad, not so much risk of that.

</comment><comment><USER20> Fix your site; it doesn't load at all with JS disabled.</comment>


Ask HN: How do you backup your web app/business/startup? - <AUTHOR>

I have googled a few including carbonite, sitevault etc. But being lazy and want to hear more from HN'ers. Please share how do/would you backup your website/app/business etc. <comment><USER2> I use SyncBackPro (1), a Windows app which allows me to create automatic daily & monthly mirrors to Amazon S3, external USB drives & an ftp server provided by my email provider.

(1) [http://www.2brightsparks.com/syncback/sbpro- features.html](http://www.2brightsparks.com/syncback/sbpro-features.html)

</comment><comment><USER3> I use CrashPlan ([http://www.crashplan.com/](http://www.crashplan.com/)) for my workstations and am very happy with it.

<comment><USER4> Crashplan is excellent, especially if you have lots of data.

Most of the other services like Carbonite start to throttle your upload speed after so many GB. Crashplan does not.

Crashplan also has a family plan good for several computers, with unlimited storage, and you can even set computers to back up to each other as well as to their repository.

</comment></comment><comment><USER4> Make sure to backup all your files, all your database content, installers and config files, and basically anything you'd need to rebuild everything you care about from the bare metal.

For websites, a periodic file dump via FTP, and database dump via a MySQL script is nice and easy. There are also Wordpress plugins that will do the dump and email it to you regularly.

</comment><comment><USER5> tarsnap ([http://www.tarsnap.com/](http://www.tarsnap.com/)) handles encrypted database backups, but I've never had to restore. Production database is replicated to two other machines (different data centers) anyway so needing to fall back to a backup would require a huge disaster.

But other than that: * everything is in source code control, with clones of the repository in a few places * AMIs for the production machines (copied to multiple AWS regions for redundancy) Only taken every couple of months since they are just a pull & build away from being up to date. * Google/Dropbox for email, documents, etc using TrueCrypt for sensitive stuff

I don't really see the need for a full traditional backup process. When I did use one, I never found the time to fully test the restore process frequently so would have to doubt how robust it was anyway!

</comment><comment><USER6> I use Arq ([http://www.haystacksoftware.com/arq/](http://www.haystacksoftware.com/arq/)) to backup my data to Amazon Glacier (and S3).

</comment><comment><USER7> I use Dropbox, which also makes it easy to switch between the desktop and laptop.

</comment><comment><USER8> cronjob dumping encrypted tar to S3</comment>


Microsoft Smart Watches Are Officially Defunkt - <AUTHOR> http://thenextweb.com/microsoft/2012/01/02/microsofts-smart-watches-are-finito/

<comment><USER2> Anybody knows if there will be a chance to make apps for the nano in the next half-year?</comment>


A tale of many nests - <AUTHOR> https://fare.livejournal.com/189741.html <comment><USER2> I admit that the common lisp LET special form follows what you call the ALGOL style (for binding at least), but the traditional Lisp scoping seems more natural to me.

</comment><comment><USER3> A while ago, I wrote this little macro which does the same thing in racket:

        (define-syntax (-> x)
          (let ((arg (cdr (syntax-e x))))
                (foldl (λ (l r)
                          (if (identifier? l)
                              #`(#,l #,r)
                              #`(#,@l #,r)))
                       (car arg) (cdr arg))))

Same ideas showing up again and again. Pretty cool, I guess.

</comment><comment><USER4> > [...] and the line limit isn't an increasing threat as my functions get more > complex.

This is a feature.</comment>


Split Keyboards, a 5-Year Review (ErgoDoxEZ, MatiasErgoPro,KinesisFreestyle 2) - <AUTHOR> https://raymii.org/s/articles/Split_keyboards_a_five_year_review_including_the_ErgoDox_EZ_Matias_Ergo_Pro_and_Kinesis_Freestyle_2.html <comment><USER2> I built my iris some time ago and have to say that it's lot of fun to use. Price was also pretty good in this genre but of course it's DIY asset. Limited size makes work qualified layout creation challenging but I hope to nail it soon...

[https://keeb.io/products/iris-keyboard-split-ergonomic- keybo...](https://keeb.io/products/iris-keyboard-split-ergonomic- keyboard?variant=8034004860958)

</comment><comment><USER3> I use a Kinesis Advantage and while it is not split, it does have concave key wells which in my opinion is superior to the flat ones on ErgoDox. The middle section is large enough to fit a Magic Trackpad 2 and I have seen people mod their keyboard to place a wireless charger beneath.

</comment><comment><USER4> The Kinesis Freestyle has a mechanical version ([https://amzn.to/2Emhout](https://amzn.to/2Emhout)). I'm typing on it right now. I wonder how the author would have assessed the Kinesis if he had tried the mechanical version.

<comment><USER5> Quite a big increase in price for the mechanical part. The kinesis is a good split starter board, or for office drones.

<comment><USER4> There is a substantial difference in price, although the mechanical Kinesis costs less than what I paid for the regular Kinesis several years ago (prices have come down quite a bit). More importantly, years ago when I tried the regular Kinesis the mushy keys were unacceptable. It takes a fair amount of time/practice to acclimate to a split keyboard and I wasn't willing to do that for a non-mechanical keyboard; the mechanical version removes that obstacle.</comment></comment></comment>


Announcing Google Capture the Flag 2017 - <AUTHOR> https://security.googleblog.com/2017/06/announcing-google-capture-flag-2017.html <comment><USER2> This really makes me miss the Stripe CTFs. I'm guessing Google's are aimed more at top security people working together as a team, not to teach ordinary programmers how a buffer overflow acts. I usually got about 80% of the way to a T-shirt in Stripe's.

<comment><USER3> Check out [https://microcorruption.com/](https://microcorruption.com/).

</comment></comment><comment><USER4> Hey all, I see a lot of comments asking about getting into CTFs. Trail of Bits has an awesome field guide [1] that I learned a ton from - check it out!

1\. [https://trailofbits.github.io/ctf/](https://trailofbits.github.io/ctf/)

</comment><comment><USER5> I've never heard of Capture the Flag. Can someone a bit more familiar describe what the format is exactly, or what type of questions / challenges there are? Any examples from last year's competition?

<comment><USER6> In general CTFs are a list of problems you're trying to solve in a set amount of time, ranging from a few hours to a week or so (and some open CTFs are not time bound, just for learning). They will tell you something (normally very, very minimal info or a hint) and you try to find or figure out a string to 'capture the flag' and get the points for that problem. The harder the problem, the more points you get. The person or team with the most points win.

The types of questions range depending on the CTF and the goal of the CTF. Some of things from the OWASP top 10 (1), while others might have logic problems, math problems, or reference problems where you figure out the answer instead of finding it.

1)[https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Proje...](https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project)

See [https://en.m.wikipedia.org/wiki/Capture_the_flag](https://en.m.wikipedia.org/wiki/Capture_the_flag) under 'software and gaming' for security CTFs

</comment></comment><comment><USER7> This seems quite interesting, but as a college student I have no doubt this will be outside my skill level. Any suggestions on similar, but easier CTF and similar events?

<comment><USER8> Check out ctftime.org or wargames on wechall.net

</comment></comment><comment><USER9> Out of curiosity, why would something like this be closed off to people < 18 y/o?</comment>


Ask HN: How do you manage server access? - <AUTHOR>

We are working on a web project which requires 8 servers. Some are web, some middleware, some database. How to best manage SSH/Security Access?
What are the best ways to manage access to ensure security?
Team members join in, leave later. How do you manage access at an individual user level?  How do you make sure this does not get unwieldy as the no. of servers increase and the team members are transient?
Thanks <comment><USER2> We've got 9-10 production servers. My methodology is allow what you want and deny everything else. So with iptables specific ports are open for public access and all else is dropped. For complete access to the servers we use openvpn. OpenVPN is setup on one server in the production environment that acts as a gateway to the rest of the servers. Only those with vpn keys can gain access. Each developer is given a specific IP and access is restricted through iptables based on what their requirements are. Knockd a port knocking daemon is used as a way to open a hole in the firewall for 60 seconds to make the connection to openvpn. I have a backdoor incase openvpn or knockd go down. The great thing with openvpn is later on you can disable keys if need be. User accounts are created across the servers for users however ssh keys are only added to the specific servers they may need access to. No passwords, people use insecure passwords, they can be cracked. SSH keys with 2048 bits work nicely.

</comment><comment><USER3> Use a centralized id solution, such as ldap or kerberos, or a combination of the two. Both MIT and Heimdal kerberos implementations play nicely with OpenSSH. There is also a patch available (somewhere) for OpenSSH to allow one to put their SSH public keys into an LDAP directory.</comment>


Ask HN: Where can I find an angel round these days? - <AUTHOR>

I'm looking for a small angel round immediately.  AngelList no longer allows solicitations because of federal securities laws.  Even if they did, the AngelList site is too crowded to get noticed.<p>So where to find angel funding these days?  Anybody want to get together and hear my start-up pitch? <comment><USER2> Have you tried a Band of Angels? I think they're the oldest Angel Investment Firm in the Silicon Valley. I'm from Hollywood and in that domain an Entertainment Attorney with contacts is the next best thing to having an agent, so I would assume the same would apply in the Valley. If you can get an attorney interested in your pitch he or she can probably connect you with Angel Investors.

</comment><comment><USER3> What city are you located in?

<comment><AUTHOR> Palo Alto

<comment><USER4> Kripes! If a person can't find an Angel round in Palo Alto, CA, where can you find a round?

What chance does an entrepreneur in Milwaukee, WI, have? (that's where I'm at)</comment></comment></comment>


The Void (Linux) distribution - <AUTHOR> https://voidlinux.org/ <comment><USER2> Past discussions:

[https://news.ycombinator.com/item?id=15114055](https://news.ycombinator.com/item?id=15114055) (16 months ago)

[https://news.ycombinator.com/item?id=16670337](https://news.ycombinator.com/item?id=16670337) (9 months ago)

</comment><comment><USER3> I couldn't find a "Why" section that explains why this needs to exist. Anyone?

<comment><USER4> Because any independent distro is interesting in its own right. Because++ an independent, lightweight, rolling distro with a fresh take on various issues is even more so.

I am an Arch user at home, and a huge fan of Alpine Linux for my servers. Taking this - and Christmassy time off - as oppurtunity to reacquaint myself with this fun, light, enjoyable, and hyper-fast Linux, so thanks for posting.

<comment><USER5> I think programmer resources would be better spent helping make another disto better...and as this seems similar to arch linux, why not just focus on making it as an arch linux variant...one that ueses Runit instead of systemd, or make an arch-linux install CD that only uses musl instead of glibc.

<comment><USER6> You think, but you have no clue about the differences, which are so substantial that it wouldn't be possible to convince arch to change things like this, may it be for legacy reasons because some things are breaking changes or may it be just something the Arch team doesn't care about.

\- Arch Linux supports only x86_64 in the main project

\- Void supports i686, x86_64, armv6, armv7 and aarch64 with both musl and glibc under one project, one source repository.

\- Arch linux does not allow partial updates

\- Void linux allows partial updates because the package manager tracks shared libraries and big issues can be avoided by aborting the transaction if a conflict exists

\- Arch puts everything into one big package

\- Void splits packages, not as much as debian, but at least the development stuff is in a `-devel` subpackage. This reduces the installation size by alot (especially useful for embedded systems, arm...).

\- Arch has no repository with debugging symbols

\- Void has a repository with -dbg packages containing the debug symbols.

\- Arch only maintains two kernels, mainline and lts.

\- Void maintains kernels in packages with the a version suffix, `linuxX.XX`. Users can choose which series for how long they want to use. (also great for embedded systems)

\- Arch kernel updates remove the old kernel version

\- Void keeps the old kernels, the administrators can boot the previous kernel until they decides to purge old kernels with the `vkpurge` script if new kernels work fine.

This are the differences on top of my head, there are plenty more.

But yes tell people they waste resources.

<comment><USER5> > "Arch Linux supports only x86_64. Void supports i686, x86_64, armv6, armv7 > and aarch64..."

Well Arch Linux Arm has optimized packages for soft-float ARMv5te, hard-float ARMv6 and ARMv7, and ARMv8 AArch64 instruction sets [1], which is even more.

Arch main project used to support i686, but after removing official support, i686 is still carried on by Arch Linux 32. [2]

Does it really matter if it is not under the same project?

[1] [https://archlinuxarm.org/](https://archlinuxarm.org/) [2] [https://archlinux32.org/](https://archlinux32.org/)

<comment><USER6> > Well Arch Linux Arm has optimized packages for soft-float ARMv5te, hard- > float ARMv6 and ARMv7, and ARMv8 AArch64 instruction sets [1], which is even > more.

Right, Void does not provide pre-built packages for armv5, there are a few other architectures void works with but doesn't provide pre-build packages. this includes armv5, different mips targets and there are currently contributors working on getting powerpc and powerpc64 merged. powerpc64 will most likely become another architecture with pre-build packages.

> Does it really matter if it is not under the same project?

Yes, different projects apply different patches, have potentially different packages or provide different package versions.

With Void every package has the same patches applied, maintainers are "forced" to write portable patches that can be easily upstreamed. Package versions are usually the same (some exceptions), no delay.

I bet its easier for void to maintain all architectures at once than the man power required to maintain separate repositories and patches for the arch "forks".

Then you have the review overhead with forks, on void maintainers review commits to one repository, with the arch forks you have a fraction of the arch maintainers review commits to forks, while all others only review commits to the main repository.

Void makes it easier to maintain packages for different architectures, it provides xbps-src which cross compile to different architectures, it uses Travis-CI to build each pull request for different architectures.

</comment></comment></comment></comment></comment></comment><comment><USER7> Can someone explain this:

[https://github.com/void-linux/void- packages/blob/master/srcp...](https://github.com/void-linux/void- packages/blob/master/srcpkgs/txr/patches/musl-configure.patch)

This configure test uses a C program to detect that #include <$try_header> works for some value of $try_header, like alloca.h: note angle brackets. After detecting it this way, why would we need to switch this to #include "..." for the sake of Musl, to get the actual program to compile?

<comment><USER7> I figured it out (without actually building with Musl).

Musl's <stdlib.h> includes <alloca.h> already if _GNU_SOURCE or _BSD_SOURCE is defined.

Musl's <alloca.h> defines an object-like alloca macro if compiled with GCC: #define alloca __builtin_alloca.

When we try to include the <alloca.h> header through a macro, as in #include ALLOCA_H, it's subject to macro expansion: ALLOCA_H is replaced with <alloca.h>. This is five pp-tokens: < alloca . h >. The second one is the macro that was defined due to <stdlib.h> having included <alloca.h> already, and so this gets replaced now; we end up with #include <__builtin_alloca.h>.

</comment></comment><comment><USER8> I have been using Void for months on the desktop, and I like it very much, especially the package manager, but something that REALLY annoys me is how bloated every package seems to be.

Maybe you only want to use Writer from Libreoffice, but you have to install absolutely EVERYTHING, many gigabytes including Java stuff that only 0.01% will ever need, and this is true for most packages, QEMU is another horror example.

In Alpine Linux almost every package is split into multiple small sub packages so you can install only the stuff you need. This is great.

<comment><USER9> That's a Libreoffice issue, not Void.

You'll see the same thing on any Arch-based distro too for example, and I'd venture to guess that most distros are the same since there's little incentive for them to rip apart upstream packages and repackage them.

<comment><USER8> Alpine has a separate Writer package, Debian has a separate Writer package and probably many more distros. Same thing with QEMU, a separate package for every architecture, separate GUI packages etc.

I like so many things about Void, but the package bloat is just crazy.

</comment></comment></comment><comment><USER10> Anyone care to give the sales pitch?

<comment><USER11> There's one in a review here: [https://www.thelinuxrain.com/articles/void- linux-the-strange...](https://www.thelinuxrain.com/articles/void-linux-the- strangely-overlooked-distribution)

Key bullets from that:

 _Independent distribution, entirely volunteer run

runit system service manager by default (no systemd)

xbps system package manager, simple ports-like system akin to the BSDs or the Arch Build System

Fresh, constantly updated software thanks to rolling release

Uses LibreSSL by default instead of OpenSSL

A real hands on but KISS approach to system management, akin to Arch/ BSD etc._

<comment><USER12> I ran Void Linux for about a year. I thought it worked pretty well. I like the runit system, which proves you can do a sane service mangement without tons and tons of complexity ( _cough_ systemd _cough_ ). A lot of other stuff took a similar simple Unix approach, which I rather like (Linux, for better or worse, often takes a more complex approach).

The reason I stopped using it is because I changed jobs and had to run Vagrant, which doesn't work with the musl libc. I had to reinstall it to the glibc version, and figured I might as well use the more "mainstream" Arch Linux while I was at it, as I was a bit tired of having to spend effort in getting stuff like that to work.

<comment><USER13> I have to admit I've never understood why systemd is perceived as so hard to understand. Still, it's good to see some real alternatives.

<comment><USER14> Concrete example: [https://unix.stackexchange.com/q/185495/33645](https://unix.stackexchange.com/q/185495/33645) (I am the asker of that question).

This is a really weird thing to happen, and not really easy to debug, much less fix. Look at the diff that fixed the bug for an example. No way I could have figured that out on my own without a _significant_ investment in time.

With runit, everything is pretty straightforward. Not saying I can figure out every last bug, but I can at least mostly understand what's going on if I spend a wee bit of time on it. Same with Free/NetBSD's rc system, and OpenBSD's rc system. Here, it's really hard to even figure out if this is the expected behaviour or not, as all this logic is fairly complex.

I remember watching a talk Linus did about Linux around 2000. One of the reasons he likes Unix is that (paraphrased, as I didn't look up the original) "everything is understandable; you don't understand all of the system, but if you want or need to, you can go in there and understand it and hack on it". Now, that may have been true for the 2000 Linux ecosystem, but for the 2018 system ... yeah, not always. For better or worse, Linux has kind of lost this property to some degree. There are trade-offs here of course (Linux has also gained some stuff), but for me personally, I much prefer the "understandable" and "hackable" Unix systems. I think Void Linux is a good example of that (OpenBSD is another).

Oh, and here's another example: [https://unix.stackexchange.com/q/184338/33645](https://unix.stackexchange.com/q/184338/33645)

The systemd error message for this unexpected situation was worthless (see my self-accepted answer). It was a simple problem, but took me quite some time to figure out.

<comment><USER13> Thanks for the example, although its power is somewhat reduced by the fact that you encountered admittedly buggy behavior that has since been fixed. Still, I appreciate that this is unexpected and likely hard for even an expert user to fix.</comment></comment></comment></comment></comment></comment>


Morale, Recognition and Reward - <AUTHOR> https://www.madetech.com/news/morale-recognition-and-reward <comment><USER2> "The page you are looking for cannot be found."</comment>


GitHub RCE by Environment variable injection Bug Bounty writeup - <AUTHOR> https://gist.github.com/joernchen/a7c031b6b8df5d5d0b61

<comment><USER2> I decided to actually read man ld.so and came across this:

        --ignore-rpath LIST
            Ignore RPATH and RUNPATH information in object  names  in  LIST.
            This  option  has  been  supported by glibc2 for about one hour.
            Then it was renamed into:
        --inhibit-rpath LIST

I'm not sure if it's a joke or an incredible testament to backwards compatibility.

I've been writing a COFF linker recently, and have been reading lots of comments and man pages about linkers and loaders. The more i read, i think dynamic linking isn't such a good idea after all.

</comment><comment><USER3> They must've expected usernames to not contain anything other than alphanumeric characters... this is yet another example of the fact that if you write code that consumes external, untrusted input, always expect every single byte value from 0 to 0xFF could be present, and deal with them accordingly.

</comment><comment><USER4> We prevent this specific attack in Kiln by only allowing specific environment variables to be set.

</comment><comment><USER5> Any idea what the bounty was for this finding?

</comment><comment><USER6> Will this affect bitbucket as well?

<comment><USER7> No.

<comment><USER6> Why not?

Is it specific to github's "gerve" application?

What and where is the bug exactly - I mean, how can a username with linefeeds end up setting environment variables? And what username is being set - ssh? github account? wouldn't you need to use exactly the username "git" when ssh'ing in to github to trigger this gerve app anyways?

<comment><USER8> Read closely and you'll see the answers in the link:

Yes. "it is possible to inject some environment variables into gerve"

Because it's his git hub username. You answered that question yourself:

"And what username is being set - ssh? github account? wouldn't you need to use exactly the username 'git' when ssh'ing in to github to trigger this gerve app anyways?"

So if it's not his ssh username it must be his... 'github username'! it's the only other possibility you could think of right?

...</comment></comment></comment></comment>


He's start-ups' best friend - <AUTHOR> http://www.latimes.com/news/custom/topofthetimes/topstories/la-me-angel-investor-20100429,0,7971117,full.story

<comment><USER2> Two standout quotes:

 _"... Conway cares less about the specific ideas than the people who come up with them, and he looks carefully at the chemistry of a company's founders. 'We invest in people. We don't invest in ideas,' he said. 'Ideas can morph. But great people end up building great companies.' ..."_

 _"... One of Conway's axioms is that the best new ideas arise from the personal frustration of an entrepreneur. ..."_

<comment><USER3> It's settled then, I'm extremely frustrated and headed for success.

</comment></comment><comment><USER4> _The venue was Y Combinators, a kind of "American Idol" for geeks that helps entrepreneurs turn promising ideas into businesses that will attract investors._

WTF?

<comment><USER5> Is he suggesting startups are voted off the island?

<comment><USER6> Founder Institute does that. Actually about half of the people who go in are kicked out.

<comment><USER7> Yeah, I hear Bootup Labs take a similar approach <joke>

</comment></comment></comment></comment><comment><USER8> I feel articles like these make (angel) investment seem like the end-all and be-all of startups. If you just get Ron Conway to invest, you're set... Does anyone else find that extremely silly? You're a business, not a popularity contest.

<comment><USER9> Whether it seems silly or not, it is in fact true that if Ron invests in your company, other investors will. Partly because they respect his judgment, and partly because if he has invested, your chances of succeeding have increased.

<comment><USER8> I'm not disputing his judgment or the fact that your chances of succeeding have increased. I just don't see that as the end goal whereas that's exactly how the article ends and where it leaves the reader ("And Ashton's in, too!").

</comment></comment></comment><comment><USER10> Wow, does Ashton Kutcher really hand out cards that say, "This certifies that I had a personal encounter with Ashton Kutcher."? Other than this was an interesting look into Conway. Fascinating that he seldom uses the products.

<comment><USER8> How come you found that fascinating? I found it lame. Why put your money down for something you've never even touched before? I couldn't do it.

<comment><USER10> I mean it's fascinating that that has been successful for him. I agree the notion of doing it is weird to me personally.

<comment><USER11> He's invests in several companies a month. If he tried to actually use every one of those products even for a short time it would probably drive him insane. Not to mention, a lot of the products that he invests in are probably not targeted to his demographic (e.g. DailyBooth)

</comment></comment></comment></comment><comment><USER12> I'm sure Ron is great (we've met briefly), but the breathless tone of this article makes me despair for the internet industry. Showbiz and Public Relations do not make for innovation.</comment>


Show HN: Love Doc – On-demand Dating and Relationship Advice - <AUTHOR> http://lovedoc.co/

<comment><AUTHOR> I created an IOS app that gives on-demand relationship advice. Would love to hear the HN community's thoughts! I tried to keep the UI very low friction so people could get value immediately.</comment>


On incomplete HTTP reads and the requests library in Python - <AUTHOR> https://blog.petrzemek.net/2018/04/22/on-incomplete-http-reads-and-the-requests-library-in-python/ <comment><USER2> This is one of the most frustrating issues I've had with the requests/urllib3 libraries. I have no idea what I'm supposed to do with half of an HTML page or a PDF or a PNG. And even if it did, I certainly don't know how I'm supposed to handle those things when I don't get an indication that I'm likely dealing with an incomplete response. I can construct a use case where I might want this behavior (maybe a FLIF image), but it feels like such a huge outlier to me, that this being the default behavior of requests, which caters to making the common cases easy, has always felt a bit odd.

I don't begrudge the authors for this at all. After all, these are people donating their time to work on libraries solving hard problems for free that I can then use as part of my job. There is nothing that has stopped me from forking these libraries and changing the behavior myself, other than a lack of time and that, while I dislike this behavior, its only is a problem somewhat infrequently. All that being said, I really wish the response to this issue has been something other than what feels like a language-lawerly reading of the spec (requests isn't an "agent" and so that sentence in the spec doesn't apply) and the theory that someone _might_ be able to do something with an incomplete response _some_ of the time and as such, the vastly more common case should be made much more complicated.

But, anyway, I'm glad to hear that this issue is being addressed and I thank the authors for their work!

<comment><USER3> Even after this is fixed the way you want it, webservers will still send you half of a PNG because it's a truncated file on the webserver. The webserver will give the truncated length as the length, the actual transfer will be the truncated length, requests will think all is well, and you'll have a problem.

<comment><USER2> We can't fix every problem. And fixing every problem shouldn't be a gating function for fixing some problems. Web servers generally want to send a complete response. And sometimes some middle box chops off the response halfway through. And if that origin server set a correct Content-Length header and the response isn't that long, we can be fairly certain that the response is probably incomplete. And I really can't come up with a non-contrived use- case where we want those incomplete responses to be delivered silently to client code.

It seems like what you are saying is that because a file might be corrupt we shouldn't worry about a completely unrelated case where the file is fine but the transfer is incomplete. By that logic, why do we worry about trying to report errors at all?

<comment><USER3> Er, that's not what I'm saying.

I'm saying that if you get a response from a webserver, you have to think about it being truncated. Period. No matter what the libraries you're using do for the many different cases of problem that can cause truncation.

You seem to have read a lot into my words that I didn't intend to put there.

<comment><USER2> I fully agree that there can always be garbage coming back and that any robust client needs to be aware of that happening. I'm sorry if I read too much into what you were saying, but, it sounded like you were arguing that the change shouldn't be made because there are other ways that corruption could occur that this change wouldn't solve. But, it sounds like you were just warning that this change wouldn't be a panacea? Is that accurate?

<comment><USER3> I didn't want to express any opinion on the change; I use aiohttp for my python-powered web-scale crawling needs. So yes, it's accurate that I was warning that the change would be incremental and not a panacea.

BTW aiohttp has the problem of currently having a too-strict http protocol parser, so it throws errors for many rare cases of bad webservers, which browsers don't have a problem with. As a crawler, I need to be able to work with whatever a browser will display, ...

<comment><USER2> Well, it sounds like we are in fierce agreement then. Sorry for misunderstanding your comment earlier.

I've been interesting lately in exploring at aiohttp, and your comment about it being too strict is certainly very enlightening. And I want to second your comment about libraries following the lead of what browsers will do. My strong feeling is that the battle over what HTTP libraries should do has been fought and been decided by browsers, and that whatever browsers do is what HTTP libraries should do as well, regardless of how ugly it is (IIRC, when I last checked, browsers did pay attention to the Content-Length header and wouldn't display results that were shorter than it - but if I'm misremembering, I would happily change my position with respect to honoring this header). The purist in me hates to say that, but, the pragmatist wants to get things done and fighting against browser behavior feels counter-productive at this stage.

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> I've written an HTTP service that offers "tail -f" as a service. When you GET a resource with a Range: bytes=0- (or some other starting offset with unspecified end offset) you get chunked transfer-encoding that doesn't terminate until the file is unlinked or renamed out of the way.

This is incredibly handy, both for the usual things one might want to tail -f (log files), and as a cheap-but-very-functional pub/sub system.

One thing I've learned is to watch out for silly proxies (client or reverse) that want to read the whole thing and then re-serve it as definite-length (i.e., not chunked, with Content-Length) or which impose a timeout on the transfer.

HTTP needs a way to say that a chunked encoding is of indefinite length, though arguably the Range: header in my case ought to be all the hint the proxies (and libraries!) need.

<comment><USER5> Isn't the chunk the unit, why should it be unbounded m? You'd have issues on the client side without knowing how long a chunk is going to be - It seems like the chunk should be the unit which can be guaranteed to fit in memory on the client.

<comment><USER4> Chunked transfer encoding means that the sender sends <length>\r\n<chunk-of- that-length>\r\n... but each chunk can be of different length. A zero-length chunk terminates the transfer.

Chunked transfer encoding is used when the sender doesn't yet know the length of the resource's representation.

</comment></comment></comment><comment><USER6> As for the compression and resulting discrepancy of length: if you are doing transparent HTTP compression, you are supposed to send Transfer-Encoding: gzip (which implies chunked mode and that Content-Length shoul not be present and should be ignored by UA). Content-Encoding: gzip means that the resource itself is gzip compressed (which means that the UA should decompress it for displaying to user, but should save it to disk compressed, IE and Safari gets this wrong)

<comment><USER7> Ahhhhh... Thanks! I've always wondered why occasionally .tar.gz downloads end up ungzipped on disk (as just a .tar). Guess it was when using IE or Safari.

</comment></comment><comment><USER8> >Secondly, if we throw an exception we irrevocably destroy the data we read. It becomes impossible to access. This means that situations where the user might want to 'muddle through', taking as much of the data as they were able to read and keeping hold of it, becomes a little bit harder.

This is an awful justification. They should do this by raising an exception and attaching the response data to it, so the user who wants to "muddle through" can catch the exception and "muddle through" explicitly.

Regardless, this is a clear violation of [https://en.wikipedia.org/wiki/Fail- fast](https://en.wikipedia.org/wiki/Fail-fast) and disappointing behavior from a package that prides itself on clear, obvious API behavior.

<comment><USER9> I fully agree with you.

Altough I really like requests, this is a violation of one of the PEP 20 heuristics:

Errors should never pass silently. Unless explicitly silenced.

[https://www.python.org/dev/peps/pep-0020/](https://www.python.org/dev/peps/pep-0020/)

An exception would be an elegant way to handle the problem and would be able to retain the incomplete data to be handeled. It's exactly what they are for. The exception could be the default to prevent surprises, possible deactivated with a flag.

</comment></comment><comment><USER10> I am confused about the test used here. The `requests` docs very plainly state that `Response.ok` only checks the status code. Looking into the codebase proves that as well. Is there a status code for "I am going to send bad-length content"?

This might be a UX problem and not a technical one. The author seems to think that `Response.ok` should be an all-purpose check.

<comment><USER11> Honestly? I'm with the author here. "Response.ok" should tell me that the response is ok. It's the most natural expectation. If it's only going to check status code, Response.status_code.ok would be more reasonable.

<comment><USER12> _It 's the most natural expectation. If it's only going to check status code, Response.status_code.ok would be more reasonable._

Except that the status line is literally "HTTP 200 OK", and the 'ok' check is simply using the domain terminology. This is not a bad thing. And having 'request.ok' be a general "I have examined every possible aspect of this response for problems and found none" is probably impossible, despite being what you apparently expect.

The solution is not to rename the method, it's to also warn or error when there's something fishy in the response. Which is apparently what requests 3.x will do.

There's also the issue that the Content-Length header, while generally well- adopted, is optional (sending either Content-Length or Transfer-Encoding is a SHOULD in RFC 7230, not a MUST), and sending an incorrect Content-Length, while annoying, is not actually against the RFC (the only MUST NOT prohibitions on an incorrect Content-Length value in the response are when the request was a HEAD or a conditional GET).

<comment><USER13> I'm not sure I agree with your assessment that sending an incorrect Content- Length is permitted. This specific post quotes a section in RFC-2616 that deals with this directly[1]:

      When a Content-Length is given in a message where a message-body is allowed, its field value MUST exactly
      match the number of OCTETs in the message-body.

According to this, the Content-Length MUST match the data. Can you share an example of the opposite being stated?

[1] [https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4....](https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.4)

<comment><USER12> RFC2616 is obsoleted by RFC7230. Relevant section:

[https://tools.ietf.org/html/rfc7230#section-3.3.2](https://tools.ietf.org/html/rfc7230#section-3.3.2)

Occurrences of MUST NOT for the server in that section are:

 _A sender MUST NOT send a Content-Length header field in any message that contains a Transfer-Encoding header field._

(so can't send both Content-Length and Transfer-Encoding)

 _A server MAY send a Content-Length header field in a response to a HEAD request (Section 4.3.2 of [RFC7231]); a server MUST NOT send Content-Length in such a response unless its field-value equals the decimal number of octets that would have been sent in the payload body of a response if the same request had used the GET method._

(if you send Content-Length on HEAD, it must match the length of the response you would have sent for GET)

 _A server MAY send a Content-Length header field in a 304 (Not Modified) response to a conditional GET request (Section 4.1 of [RFC7232]); a server MUST NOT send Content-Length in such a response unless its field-value equals the decimal number of octets that would have been sent in the payload body of a 200 (OK) response to the same request._

(you can send Content-Length on conditional GET; if you do, must match length of the response you would have sent for GET)

 _A server MUST NOT send a Content-Length header field in any response with a status code of 1xx (Informational) or 204 (No Content). A server MUST NOT send a Content-Length header field in any 2xx (Successful) response to a CONNECT request (Section 4.3.6 of [RFC7231])._

(some other situations that can't use Content-Length)

It may be an oversight, but nothing in that section requires that the Content- Length, in general, must match the size of the response body.

<comment><USER13> I'd say the HEAD section is the best implication about the behavior they expect. Where in this section there is precedent set for the spec requiring it to be equal.

I'll agree and admit that implication is not explicit specification, but I think it's a reasonable example to follow.</comment></comment></comment></comment></comment></comment>


Ask HN: What should the first day for an intern be like? - <AUTHOR> I am currently interning on the other side of the world and after much hassle I arrived at my job (software development) now I dont make more than I pay to be here so Technically im at a loss already. However experience can be valuable and so I hope that this internship will be valuable. Its true that i also pay extra to explore the country and live in a new environment with a different culture so it also can be considered part holiday. Now my question is "what should a first day interning be like?" comes from the fact that today I was welcomed and then 'forgotten about' I felt like they didn't care about me or my efforts at all, which is why im afraid that this internship won't be of much use to me. I'm hoping someone could shed light on this topic so I can maybe make a decision to switch companies if needed. <comment><USER2> What Country are you interning in?

A few things, well thought out internships will be quite structured and you won't be left to your own without knowing what to do and how to get assistance if you need it. But there are also internships that honestly are fairly sloppy and you need to really seek out your own path and push to learn. To be fair, I'd give it a week to see what shakes out but I would be asking basic questions, just so you stay in the front of peoples minds. In the U.S. I have seen a few startups structure internships to see which of the intern(s) will actively seek out work etc. I frankly think this is a huge mistake, but I don't think they are doing it to be mean, just they themselves are inexperienced and think this is a valid way to see who will make themselves valuable to the company.

My advice, make yourself valuable to the company and make the most of your time there, even if in the end it winds up not being a good company you will learn a lot and people will see value in you which may lead to good recommendations later to other companies/programs. If you just sit back and take it easy then you'll learn very little and people won't respect you in the end (generally).

<comment><AUTHOR> Im interning in south east asia as a western European. I do wanna give it a week, but if I want a chance to switch I have to be quick as my uni wont allow it later in the program. The thing is it looked like a structured internship when I applied and had my interview. I know things could be much different as I have had previous working experiences as a developer. I dont expect them to hold my hand all day, but having at a team member informed and able to help an intern set up a workstation and area so he can get started seems only logical not only from a helping an intern point but also as a i want to make money point. Right now I have done nothing and I really would rather do something. I asked them about it a few times. Now I work much better in a structured environment and I feel like this will be a very long internship if I dont start finding joy or value in something i know i love doing.</comment></comment>


ShowHN: Freeware* GUI Multiple SQL Client Mac OS X - <AUTHOR> http://macsqlstudio.com A lightweight, multiple-database client and SQL development suite. It is written in pure Objective-C using the Cocoa Framework. Extensible features via Lua scripting.  Free for non-commercial (at home) or humanitarian (charitable organizations) use. <comment><AUTHOR> This is freeware for non-commercial use. Please see the license agreement.</comment>


A Minimal Architecture for General Cognition [pdf] - <AUTHOR> http://axon.cs.byu.edu/mrsmith/2015IJCNN_MANIC.pdf <comment><USER2> When I was an undergrad doing AI at the start of the 90s, the 'general AI architecture' seemed to already be a passing phase. Though many of the proposed architectures were not symbolic, the approach felt part of the symbolic AI bubble that had recently burst. The idea is appealing, but the difficulty in showing success even in isolated tasks made the claims of general architectures rather bald and self-aggrandising.

I felt at the time that it would take a lot of progress before it was warranted. We'd need to actually develop tools that were widely applicable and solve certain fundamental problems (the frame problem, the problem of behavior composition, the problem of inference). I'm not entirely convinced 'deep learning' is as widely applicable or capable as its hype, and we haven't found too many interesting new general purpose cognitive algorithms in the last 30 years. So it still feels way too early to be talking about general models of cognition, when we don't have convincing data that shows the generation of cognition in any context.

An interesting paper, but it feels very 1980s, to me. At root a combination of AI techniques glued together with hand waving and optimism.

</comment><comment><USER3> Github of MANIC implementation: [https://github.com/mikegashler/manic/blob/master/docs/index....](https://github.com/mikegashler/manic/blob/master/docs/index.html)

Docs for implementation: [https://htmlpreview.github.io/?https://github.com/mikegashle...](https://htmlpreview.github.io/?https://github.com/mikegashler/manic/blob/master/docs/index.html)

From docs:

 _Does it work?_ It passes some tests. More testing is still needed.

 _What is the license of this code?_ ...Creative Commons Zero public domain dedication. In other words, you can do pretty much whatever you want with this code.

 _Why is MANIC so slow?_ It does a lot of stuff. Your brain has about 100 billion neurons that all run in parallel. This code is doing it all in serial on the Java Virtual Machine.

My thoughts:

Can this be trained for "abstract" knowledge (wikipedia) or does it need specific, detailed knowledge? (the paper examples train with several related real-world states)

Why can't this be run in parallel?

 _EDIT, additional sources:_

SVG diagram of the MANIC architecture: [http://uaf46365.ddns.uark.edu/lab/cogarch.svg](http://uaf46365.ddns.uark.edu/lab/cogarch.svg)

2011 paper which began this work: [http://axon.cs.byu.edu/papers/gashler2011ijcnn2.pdf](http://axon.cs.byu.edu/papers/gashler2011ijcnn2.pdf)

</comment><comment><USER4> Hmm,

I can't tell from this description how "MANIC" solves the broad frame problem.

Another issue that I think Nicholas Cassimatis has focused on the most is that any multi-model approach is going to need much tighter integration between modules than ordinary software system normally have.

And altogether, the document seems little more than a series of arrows drawn between different subsystems. It may be "correct" but so broad as to be not- useful. I'll have to look at their implementation.

<comment><USER5> Anyone who has had a visceral reaction might agree with Cassimatis about tighter integration between modules.

</comment></comment><comment><USER6> It looks like they just put a planning algorithm on top of a deep learning algorithm. I think this ignores the advancements of reinforcement learning. And I don't think this model adds to much. A GA isn't enough to do high level planning, and you need more than just a big neural net to get AGI.

<comment><USER7> What is a GA?

<comment><USER8> Genetic Algorithm [1]. The MANIC planner uses a GA.

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

</comment></comment></comment><comment><USER9> _...if general intelligence is one of the ultimate objectives of the fields of machine learning and artificial intelligence, then they are very much on the right track..._

Bold assertion.

</comment><comment><USER10> Sounds like they've reinvented deep reinforcement learning.

<comment><USER4> To be fair, the document claims not to be trying to invent anything new but rather to be cobbling together different known algorithms into a broad intelligence architecture.

I'd see the problem laying in these approaches not easily inter-operating with each other rather than in the approaches themselves.

</comment></comment><comment><USER11> Interesting, but study of human consciousness suggests that the basic model used for human cognition is sequences of framed and situated actions. If this is true then a different model might be better for planning and evaluating progress regardless of goals or context.</comment>


What are some opportunities in residential and commercial real estate? - <AUTHOR> I have been looking at technology in residential and CRE, but it seems very antiquated. Obviously, Zillow and Redfin are modern, but besides those I see many legacy software (argus, costar, and realpage) in the space. <comment><USER2> Agreed. Definitely do see plenty of opportunities within the residential and commercial real estate space. The biggest problem will depend on which market you're going after.

From my experience, there are great problems to solve on all sides of real estate. The key would be to know who's going to be paying for it. For now, I've settled on building a Zillow-type site in Canada. Happy to chat more if you'd like someone to bounce ideas with.

</comment><comment><USER3> I've worked in both residential and commercial real estate a couple years back, and I agree. The software that people use on a daily basis truly sucks.

<comment><AUTHOR> Most definitely. What you think is the biggest problem that is worth chasing. I don't want to create a full suite of products, but something that targets a small niche to start.</comment></comment>


Collected List of New JavaScript Features (ES6 and ES7 and ES8 and ES9 and ES10) - <AUTHOR> https://github.com/daumann/ECMAScript-new-features-list <comment><AUTHOR> I couldn't find any repo that lists all the interesting features of newer ES releases, so I collected individual ES release feature list examples into a single repo (and I intent to keep it updated). Let me know if you find it useful or see any mistakes. Feel free to fork.

<comment><USER2> Nice project. What I've been meaning to do is review JS and DOM APIs as a set of combined support. I find myself using features like Object.assign(), Element.querySelector() and Promises, but avoiding other JS features like fat arrows as I'm not sure where the cutoff is in terms of browser support.

In other words, I want to come up with a set of features that I know will work without worrying about it, and to purge my brain of old ways of doing things.

Example: undecided is now a non-modifiable keyword, so it can be used for comparisons without worry. Years ago that wasn't true. But how many years?? Not sure.

<comment><USER3> caniuse.com is generally a go to on seeing what the current level of support for a JS or DOM feature. MDN has very good, very similar charts (some of it originally sourced from caniuse charts, but I think a lot of it is contributed directly by browser metadata now and the flow of information has started moving the other direction).

Generally a heuristic that people use (it's now most often the recommended Babel preset, for instance) is "last two major browser" versions, which the caniuse charts make easier to visualize than the MDN charts. You might be surprised how many features meet this heuristic today (fat arrows are well supported for instance, are supported according to this heuristic).

</comment></comment></comment><comment><USER4> We should have stopped polishing this turd a long time ago.</comment>


How to convince employees to use a new product - <AUTHOR> https://www.happierco.com/blog/how-to-convince-employees-to-use-a-new-product/ <comment><USER2> _happy group of business people jumping – isolated over a white background_</comment>


Road Trains get ready to roll - <AUTHOR> http://news.bbc.co.uk/2/hi/technology/8349923.stm

<comment><AUTHOR> I have been a little obsessed with this idea lately, so I'm pretty excited to see some progress. "Training" cars to share the efforts of acceleration/deceleration, cut wind resistance, ideally reduce collisions, minimize the effects of "traffic fluid dynamics", and allow me to play on my laptop during my commute is technology I can get behind.

<comment><USER2> Could possibly speed up traffic too since there will be less delay from slow reaction times. But I'm not too sure how turning will work if a long truck and a compact car are in the same road train.

<comment><USER3> I would imagine that it is only for highways to start. It could also be handled in software if it was used for trips with sharp turns. The software in the lead car could indicate that the turn was initiated at this point in space and to turn hard when you get there. Presumably there is some kind of GPS that would help with that.

The real worry(though not too terrifying) is more about a rouge driver with a hacked transmitter mimicking a "professional driver" and sending them bunk data that could veer them into an accident. One way to mitigate this is by having some kind of sonar/radar/sensor on each car in the cardinal directions that would indicate if the command was safe. I am sure there are other ways to game the system that I am not seeing from this cursory reflection.

<comment><USER4> There's many ways to game our current system, too. You can just ghost-drive onto the highway in the wrong direction if you want to. What I mean is that I don't think every problem needs a technological solution - simple legislation and jail time should do it. EDIT: I agree it makes sense to have fail-safe systems, of course.

<comment><USER2> Yes but hacking the system allows you to remain physically safe and anonymous.

</comment></comment></comment></comment></comment><comment><USER5> Initial thought on reading the title was that it'd be a struggle to run road trains in most of the EU and UK, but thankfully the article wasn't referring to one of these <http://en.wikipedia.org/wiki/File:Road_Train_Australia.jpg>

</comment><comment><USER6> Road trains will share the road with everyone else. Just one car cutting in front can lead to a horrific accident. It will be similar to real train accident but more frequent.

Plus the feeling of control is very important. Flying is safer then driving, but numbers be damned, in a plane you have no control so it _feels_ a lot worse then driving.

<comment><USER7> Re: "Feeling of control is very important...feels a lot worse than driving."

Citation? I'm not saying it's not true. I'm just curious if there are actually surveys of this. I've personally never felt a subway/tram/plane was any less safe because of lack of control so found the claim hard to empathize with.

</comment></comment><comment><USER8> It's like a bus, but with far greater fuel consumption, a far larger road footprint, and the bonus chance to have a multi-car accident due to a software hiccup.

</comment><comment><USER9> I'd be very worried about both wireless security and wireless interference.</comment>


Walmart gives up on ever having a store in NYC - <AUTHOR> http://www.nytimes.com/2007/03/28/business/28retail.html

<comment><USER2> That news story is from 2007; living in Queens, I just got junkmail from them about how much good Walmart is doing for hunger, suggesting that they're not done with NYC yet.

</comment><comment><AUTHOR> What's strange is Target, Kmart, Home Depot and Lowes all have stores in NYC.

What makes Walmart's business practices so special I wonder?

<comment><USER3> Not just business practices, but also the public perception of the store.</comment></comment>


My Husband and I Blew Through $3M. Now We're Broke - <AUTHOR> https://slate.com/human-interest/2018/12/dear-prudence-husband-broke-unemployed.html <comment><USER2> Failure to plan is planning to fail

</comment><comment><USER3> being single is a bless sometimes.</comment>


Should Personal Genomics Be Regulated? - <AUTHOR> http://radar.oreilly.com/archives/2008/07/should-personal-genomics-be-regulated.html

<comment><USER2> I have to say I agree with Tim. The hypocrisy of this is staggering. How can one justify allowing billions of dollars of ineffective homeopathic remedies and potentially dangerous "natural" medicines to remain on the market with no regulation whatsoever, while jumping all over 23andme and others who simply give people information about their genomes and make no claims or guarantees about what the information can be used for?</comment>


Court rules in Apple's favor, Galaxy Nexus sales banned in US - <AUTHOR> http://www.theverge.com/2012/6/29/3126934/apple-samsung-judge-denies-injunction-galaxy-nexus

<comment><USER2> Given how ho-hum Apple's WWDC was, they may as well go the lawsuit route. Maybe there will be a market in the judicary for a phone with an amazing "do not disturb" feature.

</comment><comment><USER3> Multi-source searching? Really? I don't like seeing companies fight with trivial patents, but in times like these I wish Google would just use whatever patents it had available from their search technology or whatever, and just shoot them all at Apple, and actually turn aggressive against them. Maybe this way Apple will finally learn to ease up with these continuous, and seemingly expanding patent lawsuits.</comment>


Show HN: BackerBook - a gallery of self-hosted crowdfunding campaigns - <AUTHOR> http://backerbook.com/

<comment><AUTHOR> Any suggestions or feedback appreciated! This was my first major foray into doing the design and CSS work, so things may be a little rough there.

<comment><USER2> glad to see you still cranking away at things man! pretty cool concept</comment></comment>


Gave up a day job Now what? – Report number 0 – Part 2 - <AUTHOR> http://www.kreci.net/reports/gave-up-a-day-job-now-what-%E2%80%93-report-number-0-part-2/

<comment><USER2> Best of luck to you! If I can make one suggestion: move up the value chain from affiliate and site flipper. (Moving up the value chain means you offer more complicated and valuable services of the level of the people who were previously buying your services. For example, right now you're doing something fairly unsophisticated -- making "websites" -- on the behalf of affiliates who are not very sophisticated. One step up the value chain is making websites for yourself and being an affiliate. Another possible step after that is selling whatever the affiliate is marketing, for yourself. It is not unusual on the Internet to have chains which go half a dozen or a dozen stages deep, and your competitive position gets better for each stage you climb out of.)

The kind of people who buy websites for less than $1,000 are disproportionately going to be very, very difficult clients for you to work with. If you're capable of operating a website in a commercial or semi- commercial niche, just go ahead and _do_ that -- you'll make far more money and won't have to spend time grinding out more websites to flip every month.

This requires transitioning your focus from "I make websites!" to "I have a business which happens to be based on the Internet." That has been a rather jarring transition for a lot of newer SEOs and software developers I've known in my day. Best of luck with it.

Incidentally, just because you are from Eastern Europe does not mean you need to charge your customers cheap prices. Charge based on the value you provide them. You are able to live on probably a third of what I can, but if you and I are able to do the same thing for some American customer (who is an ocean away from either of us), then we're able to charge the same amount of money. You can just enjoy it three times as much.

<comment><AUTHOR> Wow… Really amazing comment patio. Thank you for it. You are right about chains. But like for now just building websites is a thing I know best. On each website I build I learn more and next website I am building is getting more traffic and better SEO in shorter times. I will be trying to make money on being an affiliate and maybe sell my own stuff sooner or later. But like for now I make really little on my websites this way. Not enough to make a living from it. When I sell website I get quite big flow of the money that is ok. If I will learn enough I will be keeping the best websites for myself. But I just starting my business and still need money for a living. If you follow my blog I will be telling about it (flipping to affiliate earnings) more in my future reports. Thanks again for a great comment.

</comment></comment><comment><USER3> $1000 is not hard to beat at all. I used to work on rent a coder back in the day and I made $2000 easily with two weeks of dedicated work.

I would suggest also building some easy web based tools that does something for which there is a clear market - for example making a picture polaroid, or diagnosing some disease. You will make some amount of money every day. See my post about this: [http://blog.cubeofm.com/how-to-become-rich-even-if-nobody- is...](http://blog.cubeofm.com/how-to-become-rich-even-if-nobody-is-followin)

Alternatively, just go for shareware software. It's really really easy to make $500 a day on a piece of software if you are willing to do the manual labour of keeping it updated across the download sites.

<comment><AUTHOR> thanks Max for really valuable comment - I will read you article and consider using some of your excellent tips</comment></comment>