How to use Photoshop to design interfaces - <AUTHOR> http://nathanbarry.com/how-to-use-photoshop-to-design-interfaces <comment><USER3> Great Photoshop tutorial, but this is not interface design. It's interface skinning. It's rendering. It's fashion.

The reason it's important to make that distinction is that otherwise you imply that to design an interface, one starts in Photoshop. Too many people design like this, and skip important steps that challenge the fundamentals of what they're implementing because they get caught up in making their layer styles look pretty.

<comment><USER4> I'm in somewhat of the opposite situation. I feel like I've got a fairly good grasp of user research, workflow definition, feature prioritization, et cetera, et cetera, but I often struggle with translating that work into an actual UI. Does anybody have suggestions for how to get better at this? I'm sure that learning Photoshop will help, but what should I do for practice once I'm comfortable with the tools?

<comment><USER5> I'd suggest books and classes in graphic design, if you can. There are a lot of suggested books here: [https://news.layervault.com/stories/11494-i-compiled-a- list-...](https://news.layervault.com/stories/11494-i-compiled-a-list-of- books-for-designers)

You'll really start to appreciate the difference between knowing design principles and knowing how to use design tools. Tutorials that teach skills or techniques in software will get you about as far as applying a specific technique. Without knowing basic design principles your work is going to look cluttered, samey, not-quite-where-you-want-it-but-you-don't-know-why. I'd also say that jumping straight into UI design is premature for someone beginning a design education. Learning the fundamentals of graphic design is essential, even if at first it seems irrelevant and too print-oriented.

A good design background will help you solve design problems. Right now there's a lot of 'designy' stuff--especially on the web--that's nothing more than the mindless application of a solution to someone else's design problem. There are a lot of missed opportunities to actually communicate, or to make a better tool; all because of groupthink and notions of good taste. Learning about design will help you get out of that rut.

</comment></comment></comment><comment> chestnut-tree I agree with some of the othe posters here - using a vector drawing tool such as Illustrator for designing an interface is _much_ easier than using a bitmap tool like Photoshop (although Photoshop has some vector drawing tools). The main difference comes from the ease with which you can simply select, drag and re-size elements on your screen compared to Photoshop. This will definitely help you work faster if you are experimenting with layout.

You can use a vector drawing app for wireframes, for mapping out screen flows and interaction behaviour, and finally for creating the finished visuals for the app. Photoshop is only really suitable for the last of these tasks. There are some visual effects that only Photoshop can achieve, so you may find you have to use both. But I would always recommend starting with a vector drawing app.

If you don't want to use Illustrator (which has a clunky UI in my view) there are plenty of cheaper vector alternatives . Here are a few

Inkscape (open source and capable of professional results) [http://www.inkscape.org/en/](http://www.inkscape.org/en/)

Sketch (Mac only, praised for its ease-of-use) [http://www.bohemiancoding.com/sketch/](http://www.bohemiancoding.com/sketch/)

Serif DrawPlus (Windows only, low-cost but very capable) [http://www.serif.com/drawplus/](http://www.serif.com/drawplus/) (no trial version, but they are selling the previous version for £10 (approx $16 usd): [http://www.serif.com/promo/](http://www.serif.com/promo/)

Xara Photo and Graphic Designer (Windows only, again low-cost but very fast, capable and an excellent interface) [http://www.xara.com/uk/photo-graphic- designer/](http://www.xara.com/uk/photo-graphic-designer/)

Edit: just to add, the apps above do not have anywhere near the amount of tutorials for learning as Illustrator (or the industry recognition), so factor that in when choosing a vector app if that's important to you.

<comment><USER6> THANK YOU. I cannot _stand_ using a raster tool to design UIs. It's insane to me, and it absolutely boggles my mind that it's considered 'standard' practice (other than just going to html/css directly).

<comment><USER7> Currently I am taking designs from a media company and have to turn their PSDs into real code.

Is the process easier in Illustrator-- Design to HTML/CSS? Or does it to build the UI elements easier?

<comment><USER8> Not really.

Illustrator is better for the _drawing_ stage of your UI than Photoshop but both are equal when it comes to checking spacing, color values, corner radiuses and so on when it's time to actually _build_ that UI.

It's also a bit more straightforward to export an object drawn with Photoshop than it is to do the same with Illustrator.

Also, decent-to-good "Photoshoppers" are a dime a dozen because both businesses and schools have a weird love affair with Photoshop but decent-to- good "Illustrators" are harder to find. You'll have a hard time convincing your client to make its team of ADs and designers switch to Illustrator.

<comment><USER7> OK that's what I thought. I have a project right now where I'm translating some PSDs into HTML its what I've done in the past but I haven't tried illustrator.

</comment></comment></comment></comment></comment><comment><USER9> Don't use photoshop to design interfaces, use css, html, illustrator and photoshop to design interfaces.

Interfaces are not two dimensional and static, they are three dimensional (time) in the sense that hey have to be interactive. Flat graphics are not interactive.

If you are going to just use photoshop, use a pencil, it's cheaper and easier.

<comment><USER10> And that's why a lot of people design using Flash

CSS and HTML? A Designer does not need to know that to produce a design.

<comment><USER11> That's one useless designer.. if the designer does can't produce their own fucking design. That's where we get photoshop monkeys.

30 mb PSD vs someone who can code their design. Your pick.

<comment><AUTHOR> Agreed. That is one useless designer. When I hired designers I would only hire people who could write front-end code as well as they designed.

<comment><USER10> I understand that there may be a need of that in small projects

I've did both: having a design than translation to HTML and people that could do both

There's an advantage to someone that will focus only on the design and another that will focus on only translating that to HTML/CSS/JS namely, that someone that can do both very well is rare

But of course, if they can do the design and a basic html/css of it usually can move the project faster. You will not have the greatest design or greatest html/css but it will usually arrive at a good solution

</comment></comment></comment></comment></comment><comment><USER12> Not.

See the NoPSD movement: [http://thoughtworks.github.io/p2/issue02/continuous- design/](http://thoughtworks.github.io/p2/issue02/continuous-design/)

<comment><USER11> +1. I'm getting up to speed with Cocoa to the point where I might be faster than a designer with Photoshop... as long as we don't venture into wooden textures. :)

<comment><USER13> I think there's a difference between using Photoshop for exploratory purposes, and using Photoshop to produce a deliverable.

I know Chris Coyier is a fan of using photoshop to explore a little bit, before you get into the mode of writing code, which he thinks can interfere with your creative process.

</comment></comment></comment><comment><USER14> This is useful if one has NEVER touched photoshop, but I already have a reasonably solid grasp on even intermediate features of Photoshop. Does anyone have some resources on best practices for getting a mockup done if you already know these things but know little of 'good design' other than 'make it responsive and minimalistic'?

<comment><AUTHOR> I'm working on putting out more tutorials on the topic. I just wanted to get the absolute basics out there first. My course will cover these basics, but also some pretty advanced techniques.

Stay tuned. More are coming!

<comment><USER14> Will do! Thanks. If you have an email list or something, feel free to send a link to it to me. My email is in my profile.

</comment></comment></comment><comment><USER15> This is a good start but leaves out some really useful features of Photoshop. One of my favorite newly discovered features is layer comps!

If you're addicted to photoshop but also want to display your designs somewhat interactively and minimize layer clutter, open photoshop and go to Window > Layer Comps. It lets you create multiple states within the same document, including layer positioning and layer styles. Great for button states or for preserving an entire flow through an interface in the same document. Have fun!

<comment><AUTHOR> Yep, Layer Comps are awesome. I'll cover them in more detail in the course. That tutorial was starting to get longer than I originally planned.

</comment></comment><comment><USER16> Oh how I will miss Fireworks, I always feel Photoshop for interface design and mockups is very much a square peg in a round hole :-(

<comment><USER17> I don't know how I'll manage without FW. I use it for design exploration and exporting image assets but it works so well for that.

What are the replacements on the horizon? Anybody found anything good?

<comment><USER16> I tried using Inkscape after the news broke about Adobe not continuing with Fireworks but couldn't get used to it. Maybe I need to try it again, or get a Mac (I currently use Windows) as there seem to be more options for iOS.

<comment><USER17> I used to use Inkscape but switched to FW a few years ago because Inkscape was buggy and slow. Maybe it's better now.

I'm hoping for a Win+Mac solution because I switch from one to the other regularly.

I'll have to try Sketch sometime even though it's Mac only. [http://www.bohemiancoding.com/sketch/](http://www.bohemiancoding.com/sketch/)

</comment></comment></comment></comment><comment><USER18> This article could be titled "How to use Photoshop to draw interfaces".

I've been looking for a true alternative to Photoshop. Sketch looks neat but requires Mac OS 10.7 at least (my iMac is stuck at 10.6, my MBA isn't suited for graphic design) and seems to suffer from numerous bugs. Macaw looks promising but is too much focused on code. And Fireworks is discontinued.

I use Illustrator from time to time, but only for _assets_ : icon fonts, logos, or print-quality jobs. It's not suited for layouts: there's no grid, it's difficult to export background images, you need to calculate a lot even for simple adjustments... Photoshop actually carries interesting vector capbilities, which I use for example to design icons that are both infinitely scalable and pixel-perfect (start small, expand appropriately).

Why is Photoshop still considered the n°1 web design tool?

\- Web designers are mostly graphic designers first: they focus on the UI, and don't know or care about the UX. They want to create Dribbble shots, not experiences.

\- The community and online resources are huge, from simple forum signature tutorials to advanced realistic drawing techniques.

\- Air-brushed billboard model? Funny image manipulation? Fake celebrity picture? Done with Photoshop. Everyone knows about it. It's even a verb.

\- Eye-candy sells. Clients don't care about how their website will perform. They care about the "Wow!" effect. It's something they can have an opinion on. And it's not in the web designer's interest to point out this fallacy.

I guess the article's purpose can be summarized by its last paragraph, where it displays the drawing of an eye, made with only one Photoshop layer. What's the purpose of this self-imposed constraint? The answer lies in the appended link's destination: a Dribbble shot.

You _can_ design interfaces in Photoshop, but most people (including me probably) only draw interfaces.

</comment><comment> grey-area Photoshop CC certainly isn't cheaper to rent than CS was to upgrade, if you're using it for longer than a few months. Over a couple of years it's clearly more expensive.

I'm not really convinced design should atart or end in Photoshop either - design needs to start without preconceptions or limits imposed by the tools (often pencil and paper is beat) and also to consider the medium (in this case the API and GUI toolkits. Something is definitely lost when you split it into separate domains of how things look versus how things work.

</comment><comment><USER19> Photoshop remains _the_ industry standard program for web/interface design, for now.

Yes, there are alternatives approaching maturity, but if you are hired to design a website by a client or third party, they will most likely expect the design to be delivered as a PSD.

I've been freelancing at studios across London for the past year and was never once asked if I could use Photoshop — it is assumed.

PS. I'm also working on my own guide to designing websites in Photoshop, which concentrates more on ways to improve and speed up your workflow:

[http://greig.cc/photoshop-webdesign/](http://greig.cc/photoshop-webdesign/)

</comment><comment><USER20> I'm a fan of Sketch for UI design, primarily because it offers a more accurate representation of what will actually come out in code. However, I've had little luck in getting the designers i work with to adopt it. With Sketch there is a strong correlation between how things are designed and how they're built that designers find inhibiting and offensive. That said I strongly encourage designers give Sketch a serous look.

As always however, the best tool for UI deign will always be pencil and paper. Sketch is simply a good tool to flesh out those concepts.

</comment><comment><USER21> I prefer using my interface to design my interface, using a continuous feedback loop.

Paper, pencil, and Scheme are high level tools I use to plan and lay out the interface.

Objective-C/C, HTML/CSS/JavaScript, Illustrator/Photoshop/After Effects are low level tools I use just to get the details that support the interface in place.

At least that is how I like to imagine my workflow to ideally be laid out - <USER2> is not always so clearly defined in practice sadly.

</comment><comment><USER22> I find illustrator to be better for designing interfaces.

<comment><USER23> I've used Illustrator to draft website designs for years, and drawing in vector is especially useful now that I often find myself needing larger versions of graphics for hi-res screens.

</comment></comment><comment><USER24> Just don't actually add your text to the button in photoshop, and don't use jpeg for the final image as you'll get jpeg artifacts especially around text.

Text should superimposed by the system you are using in the end. Akin to using css backgrounds.

This way you will support the wave of hi-dpi displays, be able to easily support other languages and will make correcting text or labels so much easier in the future.

<comment><AUTHOR> Both the button and text should, if possible, be recreated in CSS without any images at all. But if you have to use an image, you are right that the text shouldn't be a part of it.

</comment></comment><comment><USER25> As a programmer with very little design talent, but basic Photoshop skills, this is exaclty what I do when I have to make something! Layer styles let you come up with something quite good looking, even if you don't really know what you are doing :)

</comment><comment><USER26> I prefer using Inkscape to do this. It's more accessible (ie. Free) and the SVG generated easily translates to css.

</comment><comment><USER27> Unless you have absolute control over the form factor in use, using rasterized graphics is a terrible idea.

</comment><comment><USER28> You can also do some interesting design work in Powerpoint. Change the slide size to something bigger and screen shaped, toss down a rough sketch of a page on a slide. You can even hyperlink buttons and objects on the slide to go to other slides to simulate partial flows through the interface. Use animations for things sliding/fading in-out, etc. triggered by mouse events.

<comment><USER7> No.

I am tired of managers asking me to design mockups or create process flows in Powerpoint because they dont want to take money out of their budget. Adobe CS6 and Visio do it much better and the level of detail you can obtain is much greater.

<comment><USER28> Yes.

Independent developers without the money to fork out for several hundred dollars of software just to rough out some flows for their small site can get more mileage out of something they probably already own.

</comment></comment></comment><comment><USER29> never again. you can take Sketch from my cold, dead hands.

</comment><comment><USER30> Thanks ! Really needed this !

</comment><comment><USER9> Every time you write the title "Finishing with an inner shadow" a front end developer dies.</comment>


The way of life effect - <AUTHOR> http://www.gabrielweinberg.com/blog/2012/03/the-way-of-life-effect.html

<comment><AUTHOR> This captures something I've been thinking about for a while, it seems like there's about 1 or 2 life-changing apps/services a year.

Dropbox fundamentally changes how I collaborate with non-coders, makes it somewhat more like version control.

Instapaper changes how I browse and work...much less tabs these days and less "interruptions" from new content.

Spotify means I never have to micromanage my music collection again, or even worry about all these cloud music hosting services.

It's not for every startup, but the potential to change ways of life is definitely a good litmus test for an ambitious startup.</comment>


KiloGrams: Large N-Grams for Malware Classification - <AUTHOR> https://arxiv.org/abs/1908.00200 <comment><USER2> The project I never got around to was extracting n-grams, making them nodes of a graph, then testing for badness variants using cliques and isomorphisms. Part of the reason I didn't move on it was 'graphyness," did not appear to add information that could be obtained using other, faster, clustering methods with more mature tools, and much smarter people than me were working on solving it.

Reasoning about the interpreted behaviour of a program as "malware," is a really fun problem. Detecting known malware, variants, work-alikes, known behaviours, and then intent and "badness," are layers of abstraction that can't be solved bottom-up.

Badness is an interpreted reflection of the effect of executed code, so this "missing interpreter" information means there is no pure functional definition or derivation of badness. The best possible solution is a risk calculation based on code reputation with the error rate covered by some kind of event driven insurance. (Where you can't have certainty, you can at least have compensation.)

IMO, malware analysis is an imperfect information game that we have spent a lot of time trying to solve as a perfect one, and you can see how AV products are running up against these limits now.

</comment><comment><USER3> This is certainly clever... but it's not about indexing _all_ n-grams of a large size, only the most-frequent _k_ n-grams.

Most of my work with n-grams has been for indexing purposes, meaning you need _all_ the n-grams, not just the most frequent ones.

So if I understand correctly... the application here is to take a large number of programs known to be infected with the same malware, and then run this to find the _large_ chunks in common that will be more reliable as a malware signature in the future.

That's definitely cool. It kind of feels like a different technique from n-grams in the end, though, since presumably just _one_ chunk indicates a true positive? Whereas with n-grams you're generally looking for a fuzzier statistical match?

I'm wondering what other applications this might have besides malware detection.

<comment><USER4> Thanks! Yea, we "cheat" by restricting ourselves to the top-k & distributional assumptions. For our case, the low frequency grams are never used, so it makes sense.

>So if I understand correctly... the application here is to take a large number of programs known to be infected with the same malware, and then run this to find the large chunks in common that will be more reliable as a malware signature in the future.

You basically got it! We also find large chunks in benign files too. While just _one_ chunk is pretty indicative, performance is much better by using multiple. Thats where Logistic Regression (+ Lasso) comes in to tell us how important each chunk is to making a decision.

Near term I think there are some NLP applications for this (though not out to 1024 grams!), and I'm hopeful extensions to this work will be useful to bioinformatics problems.

I'm also interested in seeing what craziness people come up with now that large n-grams are an option! Everything I had done/learned before put n>6 as an immediate "why even think about it, you can't compute them" bucket.

<comment><USER3> I've done a lot of work with n-grams in NLP and in my experience it's only useful up to 4-6 words at a time, unless you're trying to index proverbs.

The reason being that grammar is intensely hierarchical, so that mere "linear" processing that n-grams do stops being useful beyond things like compound words or short sayings like "don't mind if I do!"

<comment><USER4> Oh, I totally agree with everything you've said! Some collaborators I'm chatting with have more niche NLP applications where larger n would be valuable though. I don't want to go into too much detail yet since it's their project idea, and not sure on their comfort level on blasting it out to the public yet :)

</comment></comment></comment></comment><comment><USER4> Paper author here, happy to answer questions! I'll try and pop in as I have time in the day :)

<comment><USER5> Have you developed open source tooling I can test out?

I deal with malware from an operational perspective. I do use ML based proprietaty solutions that are crazy good at picking up on bad things. As someone who doesn't understand a lot of the n-gram and ML specific language in your paper,am I correct in sayig your work would basically allow developing better or more accurate true positive detections?

<comment><USER4> I want to open source it, but the government owns the code and bureaucracy is slow. We've talked about it, but it will move at its own pace.

We think our tool will provide features that can improve AV systems to be better and more accurate, yes (see Figure 7)! We tested that in the last section of our paperLots of future work in that direction is planned.

</comment></comment></comment><comment><USER6> >Larger values of n are not tested due to computational burden or the fear of overfitting

I would say that many times larger n-grams are tested in the early stage, give poor result, and then are dropped in subsequent tests.

<comment><USER4> Thats true in many cases! For our malware work and research, we've gotten a lot of consistent push-back that n-grams needed to be larger. A lot of older work (with much smaller datasets) said 15-20 grams were best, but that couldn't be tested again with a modern large corpus. A common source of that intuition was that x86 assembly is variable length, and a single instruction could be up to 15 bytes long.

The primary point of our paper is that now we can circle back and really test all these hypothesis about larger n-grams for malware! And even if you only want smaller 6-grams, we get a nice big speedup too :)</comment></comment>


Ask HN: Healthcare insurance for 2019 ? - <AUTHOR> I work for a firm with under 20 employees and I have the option to opt out of health care insurance provided by the firm if needed.
My employer offered insurance premium for the year 2019 works out to be around $5000 for an individual, which I thought was outrageous.  I'm tempted to go without insurance but that may not be wise.
I'm interested in insurance plans that cover emergencies only ( not routine visits). Presumably the premiums are lower for plans that just cover emergencies. I'd be curious as to where the HN crowd in a similar situation as mine ( or say unemployed) obtain their insurance from. Please mention the name of the insurance provider and the plan that you avail. <comment><USER2> Open enrollment ended 5 days ago, so unless you just got hired, or you had a baby or something, you're stuck with the plan you have already.

If you're under 30 and wind up not staying with your employer, I'd look into Catastrophic plans. They are cheaper than any other plan and typically offer close to the same benefits you get at the lowest coverage level (i.e. Bronze).

</comment><comment><USER3> Look at faith based cooperatives. Seriously.</comment>


What should I choose, PhD or startup? - <AUTHOR> Recently, I was asked by a professor to advice his student, whether to pursue his idea/startup (a chemical product, he invented) or go for a Ph.D. degree in chemistry eng.. The professor chose to ask me, because I both have a PhD degree and multiple startup experience.
In my answer I didn't focus so much on the basics (business plan etc.), figuring he already knows most of this, but more on how to choose.
Do you like/agree with my answer ?
<comment>
Hello,
The pros of a PhD degree: A PhD degree does sometimes give you access and credibility to venture into bigger ideas. However, there is no guarantees. You could choose to finish your PhD degree and enter or found a highfuelled venture later on, such as those founded by www.kpcb.com or www.sequoiacap.com  (these are most successfull and well-known ones, there are of course many smaller). Personally, it might give you the aptitude to write better (due to writing papers or the thesis), be a better at figuring stuff out, give you a large network (going to conferences etc.) than many other jobs. And , of course, some technical insight & independence from having to show financial results. But, in my experience,
most technical insight become outdated in just a few years.
The cons of a PhD degree: It takes time, it doesnt give you business experience. One of the most vocal opponents of long educations are Steve Jobs of Apple, his ventings can be read for instance here : http://news-service.stanford.edu/news/2005/june15/jobs-061505.html I once read, that "when buying real estate, the first thing you should think about how will you sell this again in 5 years". Perhaps the same applies to a PhD. Perhaps look into what finished PhDs from your institute of choice do now, and ask yourself, if this is what you want.
The business : Well. First, a lot of people start businesses. The street vendor around the corner sort of started a business. Even very unintellectual activities sometime pay handsomely (e.g. www.milliondollarhomepage.com ). In my mind, to be worth it the business must end in something, that pays much better than taking a job as a PhD. Why much better ? Because there is uncertainty, so if you figure, oh "I'll make 300000$ on this" and then the reality is, "Oh I only made 100000$ over 3 years!"; it's much better to start with "I plan to make 20million$ on this" and then end up "Oh I made only 1million$". So, firstly, I think your business must have a business plan (there are many books on this topic) to clarify this. Also check up on the 'likelihood of success' factors for your startup - (you have to hit an existing market or demand, preferably be more than one person etc.,...). Secondly, it must in some degree support your education. Once in a while, people at DTU at the "Innovation" course go "oh I want to make a travel agency!" ... and the reply is usually "So go do it now ? Why do you need a degree ?".
- The pros of a business : Noone can just fire you in bad times, you are your own master, a lot of it is fun - figuring out who you can talk to, make things happen. You stand a chance of getting rich, or perhaps just not being in a J-O-B situation (JOB = Just Over Broke) :) And if you go broke, future employers can certainly use your experience anyways. You will learn from it regardless of outcome.
- The cons of a business : You can't just leave it one day, it can take a lot of time and mental energy compared to a normal job. Many people are "the worst employers" to themselves. There is considerable uncertainty over the finances - some people are very uncomfortable with this. Oh, and remember, it isn't hard to get ideas - it's hard to realize them as a business. Most self-employed people have tons of ideas, but only the time to do a few. So, you might also be able to get an idea after you finish your PhD.
Your heart : You should also listen to your heart. Other people (parents, siblings, girlfriend...) could have pressured you into thinking one or another choice is better than the other. You should  do what you want, not what they would do.
A famous musician in Denmark, Peter Bastian, was a particle physicist and played bassoon as a hobby. Although he stood to become a great physicist, at one point he doubted what to choose, and he asked his wife. She bluntly said "musician" - when asked why, she said, "you look happier when you play the bassoon".
Lots of choices in life is about choosing one or another, and it will never be clear which was the best, and there is no "scientific" way of choosing, lots of luck are involved too.
Ok, that's what I can come up with.
Cheers, teralaser
</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>-- From: Dr. <...> To: teralaser <...> Sent: Wed, November 25, 2009 9:51:48 PM Subject: perspective
Dear Dr. teralaser Hi! I am contacting you to see if you can give a little perspective to one of my students, due to your experience.
The reason for this is because you got a PhD but at the same time you have experience with the development of your own business in a successful way.
My student is a student of Chemical Engineering. Right now he has the opportunity of developing his own chemical-based business with a good economical prospects. At the same time he is finishing grad school and would like to study a PhD abroad in a good university. He was abroad last summer and he is thinking of programs in there or other good ones like in MIT and other Ivy League-related. However, his concern is that if he focuses primarily on the business, it might take him several years before he gets in a PhD program; on the other side, it might take him about 5-6 years to start growing up the business if he starts a Phd next year. So he wants to do both... at the same time. In my experience, what I recommended is that he studies the PhD next year, and waits those 5-6 years for the business or that he delegates the work of the business to someone else. After all, if the business fails (which we hope not) he can still get a decent income while having an intellectually demanding job. In the other case, of course he could get reasonable wealth from his business, but it is unlikely that such a business grows incredibly fast to make a living of it in short-mid term, and maybe a 5-6 year difference if not so important, especially because he is 24. The problem is also that he got into a program that will support his business idea in January, so he is afraid of taking the wrong choice prematurely. Besides, if the business works he might decide not doing right in the middle of his success a PhD and after some years get bored of not having something intellectually stimulating (which might be seriously important knowing him).
Here is where I think your opinion will be very valuable to him, since you have been in both situations and you understand the value of both having a specialized degree and of developing your own technology-based business. I hope you can contribute with some perspective to him, so that he can make a better choice.
Best regards, Prof. <name deleted>  -end- </comment><comment><USER2> Having chosen to go into business rather than a PhD (in physics) -- and then having succeeded in selling my startup, I explored going back to do a PhD. It was not an attractive option. The heads of department said I would get bored and frustrated with the politics and slow progress of the department.

Bottomline: starting a business (that succeeds) does change you expectations for "action" which will likely poison you from academia. I hypothesize if you fail in the startup that the PhD will not be an economic option at that stage!? The implication: it's hard to "reverse" this decision.

</comment><comment><USER3> It's a good roundup, but I think you missed the most compelling reason to do a PhD, at least it was for me. And that is that you get the opportunity to dig really deep into a problem for three year or more. And that is your only concern, no business crap, no customers, just you and your problem.

Also, the freedom of doing a PhD is great. Want to take two weeks to learn a new programming language? Sure! Want to take two weeks off and go surfing? No problem! In fact, some of my most important work on my PhD was done during one of these "diversions".

Finally, some jobs require a PhD. You may want to consider if that's the kind of job you want. Hard to answer that before you finish, though. For me the answer was a resounding YES!

</comment><comment><USER4> If this student can't figure this out for himself, then he should absolutely not start a business.

<comment><USER5> Funny, I was about to say that if he can't figure it out for himself, he probably shouldn't do PhD.

<comment><USER6> I thought the same thing when I first saw this comment, but I realized it isn't right.

A PhD gives you the opportunity to get both a broad overview of a field, as well as delving deeply into some subarea. It will greatly enhance your technical skills and ability to think. Even if you don't plan to have a research career, learning how to do research will be very helpful.

A PhD is a very worthwhile if you don't have anything better to do _and_ if you have the motivation to actually do it.

(Granted, if you are going to dick around for 5 years on a grad student stipend, don't waste your time.)

<comment><USER5> The motivation bit is the most important part. PhD's can be very grinding and most PhD's I know seriously considered throwing in the towel at least once during it. If you don't really really want it, chances are you'll never complete it.

</comment></comment></comment></comment><comment><USER7> I dropped out of university after my first year so I can't comment on academic pursuits with any authority. However, what I can say is that starting a half- decent startup gives you the most incredible ability to hack your lifestyle. This summer I was able to travel to some awesome places to kitesurf (my favourite passtime outside business) whilst working furiously on lots of my ideas. A couple of years ago I would have never thought that possible.

</comment><comment><USER8> I won't try to tell the student what to do, but I will say: (1) Doing a PhD and anything else at the same time is pretty exhausting, and a pretty sure recipe for dragging for PhD out for a long time. A PhD requires a lot of dedication. (2) When you're trying to decide between the two options, think about what you'd rather have 30 years down the line. You can always start another company once you've got your PhD; once you've worked for a few years, will you be in a position to go back to graduate school?

</comment><comment><USER9> This debate comes up often here, but one point that always seems to get left out is that a PhD affords you time for your ideas and skills to mature.

I currently have the unique opportunity to work for a startup while _also_ working on my PhD. I can say without a doubt that a PhD does provide its benefits _in some scenarios_ \--that is, you can tailor your PhD research to benefit your startup or vice versa.

For example, I am currently a PhD student studying how to implement Machine Learning algorithms to materials characterization. I often use the same algorithms in R&D work for our startup doing music recommendations and user analytics. Working for a rapidly growing startup helps me see the real world implications of my research, and helps me further understand the benefits or disadvantages of using them.

Another great side benefit of working for a startup is that I have learned how to be more efficient. By learning VIM and unix commands I can do data analysis 1000x quicker on my experimental work than other scientists in my department, just because they are busy fooling around with MS Excel/Origin/LabView.

<comment><AUTHOR> I concur, mixing academia and business life can be a very potent combination. I did do an industrial Ph.D., where I ,according to the plan, did spend half my time at the university and half the time at the company. It doubled or tripled my network (if not more) and gave me a profound insight into both the limitations/benefits of university thinking and the business life/thinking.

</comment></comment><comment><USER10> I think personally I would start the PhD _but_ use that to shoehorn my way into the university's innovation support, spinout funding, etc, take part in university entrepreneurship clubs, business plan competitions, so on. Really milk the level of support and encouragement there is within academic institutions for new enterprise.

(Conditional on the business being pretty much at the 'idea' stage and some easy way to ensure the university doesn't grab all the IP etc. If he has a fully developed, tested product and it's just a matter of executing, well, why is he even considering a PhD ;))

It is possible to do both, I know of several PhD students here running or starting up businesses. It's not easy to _excel_ at both and sooner or later there would be a decision point: continue with a PhD with some sunk time and research, or continue with the business which is starting to take off? It should be clear which is the better route by then. Meanwhile the 'kudos' of being a PhD student at $university will help lend credibility to the business.

(note that this is sort of what I did, happy to answer further questions.)

</comment><comment><USER11> Many students also like to ask "which JC should I go? should I pursue the college that is top in sports since i love sports or should i pursue the college that tops in academic?"

The root of these kind of questions are really simple. Get the student to search his soul on what he wants really. When a greed takes over, then everything becomes complex since everything looks so appealing.

Focus on one thing and work on one thing whole heartedly, whether business or PhD. When you are focus on one thing, pursue it with all your heart and don't look back, don't think of "what if i fail? what if i choose wrongly?". Once you have decided, "cross the river", "burn all boats, dont look back" and move forward. Its really that simple in life.

If you really should "fail", its not bad too because you would have learn valuable and important lessons. Its really the journey that matters and not so much on the end product. That way, you would not have lived your life in vain. Phd or business, we cant bring fame or fortune to our graves, so do they really matter?

</comment><comment><USER12> _"... Do you like/agree with my answer ? ..."_

Over analysis?

 _"... My student is a student of Chemical Engineering. Right now he has the opportunity of developing his own chemical-based business with a good economical prospects. ..."_

If you are making _"stuff"_ , unless you are selling the process, the derivative of making _"stuff"_ you will be bound to the old laws of creating a business. In some ways it reminds me more of a hardware Startup. The rules of Software startup rules don't apply. You (might) need offices, lab space or time, hiring of extra expertise, equipment and the problems of marketing and sales. All this requires cash and a degree of risk higher than a software Startup.

One question. Does has this new _"stuff"_ got existing or potential customers? Is your _"stuff"_ applicable to a large market commodity or a high cost niche market?

</comment><comment><USER13> I dropped out of my PhD at MIT Chem Eng this year to run my startup full-time. Never looked back. I am also international, like the person in the story seems to be.

He just needs to try each one separately and see which one gets him more excited to go to work. It really is that simple.

</comment><comment><USER14> No mention of intellectual property rights? I was under the impression that if you worked on something original using university facilities, you have effectively given up your rights to anything that you come up with using those facilities. The university owns it all.

<comment><USER3> This used to be the case, but universities are getting better at this. Usually it's pretty easy to spin off a company, where the university retains some ownership. It's a win-win situation, really, a university is a great place to foster ideas, but not very good for bringing a product to market.

</comment></comment><comment><USER15> Here is my way of decision making on this:

If you don't mind dealing with faculty politics and report to a boss, go for the PhD. The benefit is that you get a reasonable salary and funding, and managing others badly does not bring fatality to the venture you are pursuing. You can also focus on your research, without immediate financial worries.

If you don't like a boss, if you want to build your own team that you are in full charge, and if you want to expand the team to pursue partly financial success and partly research goals, go for the Startup. In fact, this is what I did, and I am happy to be in full control right now, even though it is harder to manage people and manage finances in addition to R&D.

<comment><USER3> If you think of your supervisor like a boss, that's wrong, IMO. You should pursue your own ideas in your own way, and your supervisor should do just that, supervise you and guide you as best as he can, then let you do what you want with his advice.

Of course it's hard to build a team as a PhD, at best you can get some reasonably competent master students to do some work for you.

<comment><USER15> Well, I accept the term boss doesn't fit well. But still, in very competitive institutions you need to deal with lots of politics, do post-docs over post- docs to get a lab of your own or at least be more in control of the research. I think a startup that is financially successful is a good shortcut to that. You can become a CTO and go whatever direction you want.

</comment></comment></comment><comment><USER16> The danger of going for PhD is that after 5 years or more of studying, with all the time investment and academic achievement, you no longer have as much desire or motivation as initially. I think this partly explains many legendary founders started their start-ups very early: Bill Gates, Steve Jobs, Mark Zuckerberg (not considered legendary yet but on his way), etc. The more you how hard it is to start a business, the less time you have left, the more unlikely you actually start one. If you think you will start a business someday, why wait any longer, start one now. Good luck!

</comment><comment><USER17> Does it matter whether he does his PhD first or the business first? One always finds people going from one to the other. I believe doing any of the two will enrich him and will place him well in his next step. If both of them look equally good, then this may help: <http://sivers.org/scares-excites-do-it>

However, if the success of his business idea is time bound, he should probably do that first.

</comment><comment><USER18> Hey Teralaser, how long do you realistically think it would take someone to determine if their business would be a success? 2 years? 3 years? 10 years? Also, if someone takes a multi-year break from school, how easy is it for them to just pick back up in a Ph.D. program? Is such a pause a deal breaker for most universities when considering an application to their programs?

</comment><comment><USER19> If you don't like to deal with the public, don't have business experience, and would rather focus on your discipline than on people/money/marketing problems, a PhD can be a cozy way to go ... if you pick the right one, and are crazy talented or know the right people. Some PhD's spend a few years driving taxi.

</comment><comment><USER20> The Ph.D. will always be there, but the opportunity for a startup might disappear with time. Given that, staying upwind (<http://paulgraham.com/hs.html>) would tend to dictate going with a startup.

<comment><USER21> Not sure I agree with that; I would suggest that the opposite is true.

Top-tier PhD programs almost never allow students to defer an acceptance offer, so the person in question would need to re-apply. Being accepted becomes substantially more difficult the longer you've been working in industry, particularly if you haven't been working in something directly related to the PhD's field of study (like a startup).

Startup ideas, however, are a dime per dozen, so there is no danger in delaying because it will always be easy to find a worthwhile idea on which to work.

<comment><USER8> _Top-tier PhD programs almost never allow students to defer an acceptance offer_

At least in CS, all the top schools I'm aware of usually allow you to defer an acceptance offer (IIRC 6 months for MIT, 1 year for Stanford/Berkeley/etc.).

<comment><USER10> Deferred mine for a term (3/4 months) at Cambridge so I could go pretend I made video games for a living.

</comment></comment></comment></comment><comment><USER22> i think it really depends on your field. in software, if you have a great product and are an awesome hacker, nobody cares if you got a Ph.D. (or even went to college for that matter). but if you're trying to start a company whose clients are in a more 'old-school' field, like health care, civil engineering, or bio-sciences, having a Ph.D. (or even an MD/Ph.D. if you want to start a company in the medical sector) gives you a mark of credibility ... that's the sense i've gotten from people wanting to do business in non- software fields.

</comment><comment><USER23> For Chemistry, go with the Ph.D. Here's why. Having the Ph.D. at the end of your name gets emails answered. Having the Ph.D. gets you access to collaborators. It's a huge differentiator. It makes you an expert, which you need to be in Chemistry. Anyone can do a startup, very few people finish a Ph.D. When you're finished, you'll have access to hundreds of thousands of government R&D dollars which you will otherwise not have, which can translate to a huge advantage. Ph.D. dropouts who hit it big are usually in the right place at the right time, in addition to being smart, but that's unlikely to happen to you.

One word of advice- when you're finished, don't try to blend the university with your business (by splitting a company with your professor, for example), that never works.

<comment><USER24> I heard that Ph.D.s are very important in chemistry, too.

> Anyone can do a startup, very few people finish a Ph.D.

A lot of people can start a Ph.D. I do not know how many people `finish' a startup.</comment></comment>


The Great Recession Drastically Changed the Skills Employers Want - <AUTHOR> https://hbr.org/2017/10/the-great-recession-drastically-changed-the-skills-employers-want <comment><USER2> In summary:

> Businesses are upgrading their tech to stay in business which means higher > job requirements.

> Workers who don't make "the cut" with necessary analytical skills or higher > education are suddenly finding themselves without comparable job options.

Someone posted a PDF on here ranking jobs by how soon they're likely to be automated. IIRC, high-skill healthcare, fine arts, and tech jobs ranked the best. So to all the marketing savvy psychologist-artist-technologists out there, don't worry. You're going to be just fine.

<comment><USER3> I actually know a "psychologist/artist/technologist," an I'm sure they'll be fine, too.</comment></comment>


Ask HN: I can barely read, is there a way I could still learn to program? - <AUTHOR> Computers my entire life have been a beacon intellectual stimulation and knowledge. But more importantly, they have been my enabler, the only way I am able to succeed in the academic world is because of them. I use voice recognition software to dictate into them and then TTS (text to speech) to receive its output. Although I can read a bit on my own, I am unable to comprehend what I am reading until I hear it. Over the years I've made many attempts on trying to educate myself on programming, all unsuccessful. I wish to clearly state that it is not that I do not have to mental capacity in order to program but instead I am impaired by a physical disability.<p>Thank you.<p>~SudoBash (I'm reluctant to use my real name for the potential of limiting future employment opportunities.) <comment><USER3> Well, I had a woman that was legally blind who worked for me and she was awesome. She wasn't just the barely legally blind, she was full on couldn't see the monitor, required a guide dog to navigate etc. She could see slightly on the screen using some special tools, magnifiers etc. But she would literally see only a few characters at a time, and she was writing C++ which can be tough for anyone with all the little nuances and 50 ways to do the same task.

Frankly she passed a tough interview, learned a tough domain and did really damn well. Not to mention who in their right mind would ever question this persons ability to take on a challenge, damn.

So my only point is, yes you can do what you challenge yourself to do. That does not mean it will be easy, smooth or always 100% rewarding while you are going through the process. I know nothing of your condition or situation but it sounds as though some verbal tutoring might be a first step to help you see if this is what you want. No matter what, good luck and enjoy.

<comment><USER4> That's awesome but what I don't understand is how she would be able to produce clean and readable code? To her it would seem that tabs/spacing/line lengths wouldn't matter to her unless mentioned during code review. Interested to hear how she handled it.

<comment><USER5> You sound like one of those people who format code by hand instead of an in- IDE autoformatter.

<comment><USER4> Let the IDE/editor handle most of it. But some things just end up being handled on their own despite any suggestions by the IDE.

</comment></comment></comment></comment><comment><USER6> I'm totally blind and use text to speech software to program. I do type with a keyboard instead of using dictation though. Listening to code should not be an issue but I don't know how hard it would be to use voice dictation to program.

</comment><comment><USER7> This is nearly impossible to answer without a clue about the disability; it sounds like it is cognitive rather than visual. Is it a struggle with the syntax of written English, or word recognition?

If you cannot map individual written words to meanings, you will likely find it next to impossible to program using textual representations of programs.

If you don't have problem memorizing and recognizing symbols, but struggle with syntax, then your problems may be mitigated by programming languages having quite regular syntax with few ambiguities, and usually without a very large number of phrase structure forms (grammar rules).

Some languages, like in the Lisp family, have an an unambiguous syntax, in which all grouping of tokens into higher level structures is explicitly marked off with parentheses, and most special syntax uses a very regular prefix notation, often just consisting of one or two characters which alter the meaning of a token or parenthesized group which follow.

Also, most programming languages are written in a two dimensional way with indentation. (A few languages enforce it; in others it is a matter of style which makes no difference to the machine). Most of the time, programmers do not read programs the way they read English sentences; they rely on the visual clues to understand the basic structure of the code.

When we read English sentences, we basically scan the words and feed them to the "natural language processing centre" of the brain, which works out the syntax for us, as if an inner voice were speaking the words to us. If someone has an impairment there, that can create a difficult. However, the expressions in a computer program aren't necessarily processed that way by the brain.

</comment><comment><USER8> Wow, this is a really touching question. Thank you for your courage. It's inspiring.

My advice is follows. I would recommend a programming language with the simplest syntax, without the unnecessary policing that most languages entail. Begin with the lambda calculus, or better yet combinatory logic. The best book to slowly work through is "To Mock a Mockingbird", by Raymond Smullyan. After that you'll have a conception of what computation is. All computation is is substituting something in place of something else, or forgetting it, in a systematic way. From that point, you can move to something like the programming language Racket, which has a very simple syntax that is close to the lambda calculus. After this, you ought to be experienced enough to follow whatever path you wish to, for example understanding Javascript and how HTML on a webpage is scripted by it in response to user actions.

My best wishes to you.

</comment><comment><USER9> I don't understand being able to read a bit. I do understand needing to hear it.

Can you see, but poorly, or? And is the need to hear it associated with that, or some other condition?

While I wait, I suggest getting a mentor or tutor. Perhaps you can have them help with little things that can trip you up, allowing you to get the feedback loop started that you need to progress in programming.

The way I see it is the concept of a program breaks down into instructions and data sequenced and arranged in a way that will direct a computer to do something useful.

Understanding that concept and working with it some requires some mastery of a computer language, and with that comes lots of little fiddly things: syntax, operators and other constructs that have to be right in order for anything meaningful to happen.

A lot of people come to grips with programming by using some simple, interactive environment where the syntax and other detail requirements are light enough for them to make progress on the core concept.

Then, they take on mastery of more details, which opens the door to bigger programs and more complex ways to create them.

Seems to me, having somebody able to read to you, parse your instructions, format them, and help with input might really help you out!

The other part of programming that is fundamental is related to having a place in your head for various things. Once those things are familiar, you can "see" them internally, and the flow, and structure of your program will be much easier to think about.

Having a mentor / tutor or friend help with detail just might crack the initial nut for you. And if so, then you may gain some insight as to your potential and desire.

From there, progress might be good, or sustainable.

I know and have worked with both a blind programmer and one that got disabled for a long time. ..broke both hands badly and had to use a voice recognition software to complete a PHP project. (that was ugly)

Both of them got some initial help. Once they got their heads wrapped around the problem areas, they were both able to get things done and make progress.

I second the others here who encourage your efforts. If you can crack this nut, it may well be very rewarding and enabling for you.

</comment><comment><USER10> [https://news.ycombinator.com/item?id=8965048](https://news.ycombinator.com/item?id=8965048) this guy uses a screen reader and recently got hired by MS. I hope you can achieve your goals!

</comment><comment><USER11> You might be just one of the customers we can cater for at Dhi ( [http://www.dhi.io](http://www.dhi.io) ). Sorry, for the self promotion - <USER2> your problem is exactly something we think, we can solve. We are attempting to change the way people perceptive programming, basically from a set of instructions to a set of features to have. If you are interested in Front End Development ( Building UI's ) then I would say check us out. We are still not out yet - but voice based programming is in our agenda of things to add( or you could just use some other voice recognition software! ).

</comment><comment><USER12> There was an interesting talk at PyCon 2013 about programming using only your voice: [https://www.youtube.com/watch?v=8SkdfdXWYaI](https://www.youtube.com/watch?v=8SkdfdXWYaI) Might be worth looking into for your case.

It's worth mentioning that the guy did this for himself due to severe RSI in the hands, but there was another talk on using a stenographic keyboard to program and I remember this guy stood up and said he wished he'd known about it earlier as it's another approach for people who suffer from RSI since there's less typing.

</comment><comment><USER13> Here is a relevant StackOverflow question with many answers from visually impaired and blind programmers:

[http://stackoverflow.com/questions/118984/how-can-you- progra...](http://stackoverflow.com/questions/118984/how-can-you-program-if- youre-blind)

One thing I learned is that you'll want to avoid python because it relies on significant whitespace.

I'm wondering if golang would be a good choice since it has lots of great language tools, including gofmt, which will help you collaborate with other developers in terms of writing clear well-formatted code.

</comment><comment><USER14> I personally hate working with LabView but it might be perfect for you. It's a graphical programming language but one that is full featured not a child's thing like scratch.

Is this compatible with your disability?

</comment><comment><USER15> Parentheses will probably be difficult for you, but you should continue with your brave efforts to learn to program.

</comment><comment><USER16> Don't give up on your dream</comment>


Building Custom Elements in TVML - <AUTHOR> http://tape-tv.github.io/swift/2016/03/23/custom-elements-in-tvml.html <comment><USER2> Wow, they invented their own HTML.</comment>


Is Lifesta the Beginning of the End of Deal-A-Day Websites? - <AUTHOR> http://johnnystartup.com/is-lifesta-the-beginning-of-the-end-of-deal-a

<comment><USER2> I don't think so, for a few reasons:

\- Loyalty. I'm still using Groupon. I haven't joined with anything else and have bought from them a time or two.

\- Lazyness. I would not go to another site to sell my Groupon deal. It just isn't worth my time. I'll take the loss.

\- Expensive. $0.99 + 8% of sale? No.

\- Poor business model. They are betting that there are a load of people needing to offload Groupon, etc. deals? Odds are those people will just give them to someone else or sell them themselves to someone they know. While there is a need for this, I am sure that it just wouldn't be enough to sustain the effort/time required to handle support, site maintenance, etc.</comment>


Blog dedicated to new Arab technology startups  - <AUTHOR> http://www.startuparabia.com/

<comment><USER2> Gulf states are awash in cash, but I'm not sure that's enough for technology startups.

<comment><USER3> I confirm that it's not enough, mainly because technology startups aren't actually seeing much of that money in the first place. Most investments are going to construction / real estate projects, while technology ventures have to struggle for cash. Only a handful of VC firms are technology oriented, and even they don't have much projects in their portfolios.

But money isn't the only challenge, there are many more, like internet penetration, immature online advertising market, the environment, ...etc.</comment></comment>


SteamOS gaming performs significantly worse than Windows - <AUTHOR> http://arstechnica.com/gaming/2015/11/ars-benchmarks-show-significant-performance-hit-for-steamos-gaming/ <comment><USER2> I think most of the performance degradation is from using the OpenGL API on SteamOS. I heard about Valve investing a lot to optimize the driver stack on SteamOS, so I am a bit surprised by the stark difference in performance.

I guess there is still quite some optimization to be done both by Valve and the game developers.

<comment><USER3> I found it rather interesting how the CPU benchmarks ran worse on the same hardware compared to Windows 10. Is that due to overhead from the OS? Compiler differences?

</comment></comment><comment><USER4> To benchmarks do not a significant performance difference make. If anything, this shows how devs who have only worked with DX11 struggle in OpenGL, and how Nvidia's drivers suck compared to their windows varieties.

I'd be curious as to AMD (Free and catalyst) and Intel benchmarks compared, but I bet that "Other than Nvidia, Graphics on SteamOS are on-par" is as good a headline.

A poorly-written article that wouldn't have seen the light of day in the Ars of yore (forgive the appeal to antiquity).

</comment><comment><USER5> Using the same low-spec machine throughout: I've run Steam on multiple installations of Windows XP and Windows 7, while simultaneously also on Debian since it was available for Linux. There is most certainly a performance gap beteen using OpenGL or DirectX. I feel this is a good thing, because as they tune SteamOS, they'll be further optimizing Steam on Linux in general.</comment>


Trump pushing for crackdown on Californian homeless camps - <AUTHOR> https://www.sfgate.com/business/article/Trump-pushing-for-crackdown-on-homeless-camps-in-14428666.php <comment><AUTHOR> When they came for the trade unionists, I didn't speak out ...</comment>


Show HN: Pushpin, a reverse proxy for real-time web services - <AUTHOR> https://github.com/fanout/pushpin <comment><AUTHOR> Many upvotes and github stars, but not many comments here yet. Guess I did a thorough job on the readme? :)

As an example of how powerful Pushpin's transparency is, we were able to build a Bayeux server with it. Bayeux is the open pubsub standard supported by projects such as Faye [1].

For our Bayeux server, we made a backend that uses Pushpin's ZeroMQ interface to set up stateless long-polling and manage stateful WebSockets (eventually I want to figure out how to use Pushpin's _stateless_ WebSockets ability here, but the Bayeux protocol makes this difficult). Session information is stored in Redis. Pushpin's JSONP configuration is tweaked to work exactly like Bayeux's, which is generally needed for the initial handshake. When a message needs to be published to all subscribers of a channel, it is produced once by the backend and Pushpin handles the one-to-many delivery. Long-polling responses use Pushpin's JSON Patch ability, so that they can contain the request-specific ack information without published payloads needing to be client-specific. Thus, we were able to make Pushpin speak Bayeux without it having any direct knowledge of that protocol.

Most developers will not need to build such a gnarly service like this, as modern realtime APIs tend to be a lot simpler than the classic Bayeux protocol. But I think it's a cool example of what's possible.

[1] [http://faye.jcoglan.com/](http://faye.jcoglan.com/)

</comment><comment><USER2> This is interesting, but why did you make it? Who is using it? Why isn't it a paid service?

<comment><AUTHOR> I created Pushpin because it addressed a problem that I had myself at a previous employer. Namely that I needed to build a realtime API and there were essentially no dev tools available to help with that.

We (Fanout) have a paid service too: [https://fanout.io/cloud/](https://fanout.io/cloud/)

At this time, users are mostly other startups, for example LaunchDarkly (controlled feature rollouts) and Appbase (ElasticSearch-compatible BaaS). We have some promising discussions going on with larger companies as well.</comment></comment>


Kickstarter for low-income student scholarships - <AUTHOR> https://www.wishbone.org

<comment><USER2> I did some customer development on a similar idea. I talked with a local philanthropist and he liked the idea of donating _after_ a milestone was reached. For example, when a student completes a Khan Academy math lesson money is donated to a students future education.

In other words a funder would donate $5,000 to a student when they can test out of all Khan Academy math lessons.</comment>


The man who dodged the Dogecoin - <AUTHOR> https://decryptmedia.com/2018/10/16/dogecoin-inventor-jackson-palmer-regrets-nothing/ <comment><USER2> The fact that cryptocurrencies have managed to grow and hold their value for so long is in itself proof that the financial system is not working.

A huge chunk of the new money that the Fed is injecting into the system is going straight into the financial sector and some of it is going directly into cryptocurrencies.

People have started to figure out that hard work doesn't pay. To earn money, you just need to get close to the massive stream of money that the Fed is constantly dumping into the economy.

The whole financial system is an over-engineered mess; packed with technical debt and vulnerabilities. If it was a software system, it would have been rewritten decades ago.

<comment><USER3> > The fact that cryptocurrencies have managed to grow and hold their value for > so long is in itself proof that the financial system is not working.

The market cap of all stock markets is on the order of $100T. Total bond market cap is of similar scale. The total market cap of cryptocurrencies is $200B (and shrinking).

Cryptocurrencies could be 10 bigger than what they are today and they'd still be a rounding error compared to the overall financial markets.

The only thing proven by cryptocurrencies is that, at a global scale, the long tail provides enough opportunities for niches to exist.

<comment><USER4> _> enough opportunities for niches to exist_

Exactly.

How many times have you heard the argument that cryptocurrencies will never completely replace national currencies, so they should be worthless?

Or that because it's harder to buy a coffee with Bitcoin than Euros, that Bitcoin is a fraud.

It's not either-or. It isn't all or nothing.

Cryptocurrencies can co-exist with national currencies and do just fine.

</comment></comment></comment><comment><USER5> I thought this was a great joke and hung out in the Reddit for a while. It got tedious, and some people seemed to be taking it alarmingly seriously, so I stopped.

I think the lesson is that jokes wear off quickly and anything money-like hooks people the same way.

</comment><comment><USER6> I had a friend involved in the community a few years back. Some of the stuff they did was pretty funny (like sponsoring a NASCAR car). However, the inner circle was basically a group of people in a chat room running pump and dump schemes with the currency.

</comment><comment><USER7> I believe this man had a silent partner in creating doge, who also ended up holding nothing. Not mentioned here though.

<comment><USER8> That's the "Billy Markus". They're mentioned in the opening. And yes, he got nothing out of it.

</comment></comment><comment><USER9> Given that he isn't anonymous, claiming to have not profited is the wisest course of action whether true or not.

<comment><USER10> What exactly about having made his money from cryptocurrency speculation makes him more at risk of kidnapping, robbery etc. than any other random rich person?

<comment><USER9> Greater liquidity, less traceability.

<comment><USER11> It is the irreversibility of the transaction, not the traceability. There is no way to un-send stolen funds.

</comment></comment></comment></comment><comment><USER12> That's a vastly different title to the headline and I think misinterprets it.

<comment><USER13> We've reverted it to the original from "The man behind Dogecoin regrets nothing", but we'd be happy to change it to something more informative if someone can suggest such a phrase from the article.

<comment><USER14> "The man who doged the Dogecoin"

</comment></comment></comment><comment><USER15> Jesus christ is that flickering scroll thing distracting.

</comment><comment><USER16> "Despite retail investors losing millions" hrm? Nobody has been losing millions lately.</comment>


Effective Python › the Book: Second Edition - <AUTHOR> https://effectivepython.com/ <comment><AUTHOR> Notes on the new edition from the author - [https://www.onebigfluke.com/2019/10/i-wrote-a-new-edition- of...](https://www.onebigfluke.com/2019/10/i-wrote-a-new-edition-of-my- book.html)</comment>


'Worse' pandemic on horizon unless world deals with wildlife markets - <AUTHOR> https://www.cbc.ca/news/world/wildlife-markets-china-coronavirus-pandemic-1.5510045 <comment><USER2> It is time to accept that we have exceeded the carrying capacity of the planet. Absolute numbers of the human population, along with population density and many cultural and economic practices must be reduced to a sustainable level.

We now have a glimpse of the great filter. This human organism thinks it is intelligent, but it is, in aggregate, very stupid.

We must learn to control our own numbers now or else extinction is imminent.

</comment><comment><USER3> From what I have read the danger is nearly as high in the American Midwest. So many animals and so much antibiotic (mis)use.</comment>


Idling the car in cold weather is doing more harm than good - <AUTHOR> http://www.businessinsider.com/heres-what-idling-your-car-in-the-morning-is-doing-to-your-engine-and-its-not-good-2016-1 <comment><USER2> [http://jalopnik.com/yes-warm-your-damn-car-up-if-its- cold-16...](http://jalopnik.com/yes-warm-your-damn-car-up-if-its- cold-1678251730)</comment>


Visual Attachment Search in Gmail - <AUTHOR> http://thenextweb.com/apps/2011/09/29/attachments-me-for-chrome-shows-thumbnails-of-attachments-in-gmail-search/

<comment><USER2> Pretty cool guys. I like where this is going.</comment>


Airline baggage fees lead to lower revenue - <AUTHOR> http://www.portfolio.com/views/columns/seat-2B/2009/09/29/baggage-fees-hurting-airlines-bottom-line/

<comment><USER2> The general reaction I see to airline baggage fees is that people who frequently travel with no checked bags don't care (or think it's a good thing), whereas people who travel with checked bags are upset. That much is obvious, and it's kind of net neutral overall.

However, I think there is a far worse side effect of the change in pricing structure. The side effect is that _nobody_ wants to check a bag, so the volume of baggage actually entering the plane's cabin has significantly increased. It makes boarding take longer, makes everything more crowded, and in general it's a huge hassle for everyone, including the luggageless travelers.

For that reason, I try to avoid airlines that charge baggage fees, even when I am flying with no bags at all.

</comment><comment><USER3> There's an obvious selection bias here. Airlines that aren't facing a revenue decline don't need to charge baggage fees.

<comment><AUTHOR> Your argument is that the airlines had a prescient view that their revenues would decline relative to their competitors, and before that happened implemented baggage fees to partially offset that fall.

With natural experiments like this it's painful to disentangle cause and effect, but with the timing (fees, followed by revenue declines) I'm inclined to see the author's explanation of fees being a more likely cause.

<comment><USER3> All large businesses try to predict their future revenue. An airline that predicts a future drop in revenue is more likely to add baggage fees to boost revenue.

</comment></comment></comment><comment><USER4> I've done this before, even if ticket prices are a little higher but there are no fees other than what I pay for initially. I hate getting to the airport and getting nickled and dimed at the check-in counter. There just seems to be something wrong with that.

<comment><USER5> What's wrong is that the total cost isn't being disclosed up front. It's just like advertising "$10 iPod" and then charging $200 in shipping and handling.

<comment><USER6> Since the fees are advertised (though not included in the fare), I don't think you can say that the total cost isn't being disclosed. Anyone who has traveled since early 2008 is presumably factoring the baggage fees into the cost of their travel (as I do).

What's really irritating (to me) is passengers who are using advanced check-in so they can go directly to the gate -- with their oversize bag in tow. Once there, they are told they will have to gate check the bag but most airlines don't seem to be charging for gate checked bags. I don't care about the airlines losing the revenue, but I do care about the hold-ups and hassles it causes during boarding.

<comment><USER4> Actually, I kind of do think it's like the $10 IPod scam - yes, the fees are disclosed, on another page, in small print. It's not like it's right there along with the price "Only $50 each way, and, oh yeah, and on top of this, you'll be paying $25 per checked bag". Yes I know we should probably all be aware of it, but it keeps going up.

I wonder how long it'll be before they start charging "boarding pass handling fees", "seat cleaning fees", "oxygen fees", etc.

<comment><USER7> > _..before they start charging "boarding pass handling fees".._

GBP 40 for turning up to a Ryanair flight without a boarding pass: "[http://www.guardian.co.uk/money/2009/may/14/ryanair- online-c...](http://www.guardian.co.uk/money/2009/may/14/ryanair-online-check- in)

And it's GBP 5 to check-in online at home: <http://www.ryanair.com/en/questions/table-of-fees>

</comment></comment></comment></comment></comment><comment><USER8> I'm very surprised that the airline execs actually thought this would help revenue. The demand for travel is extremely elastic, therefore any increase in the costs of travel is going to cause a decrease in demand.

<comment><USER9> Demand, in economics is represented as a graph of purchases versus price. By definition, a change in price does not change demand; it simply represents a different point on the demand curve.

What _does_ change demand is customer perception that they're being ripped off. A $515 ticket and a $500 ticket are fairly close on the demand curve and probably don't represent a huge difference in sales. A $500 ticket plus a $15 checked bag fee is perceived by the customer as an attempt to conceal the true cost of the ticket.

<comment><USER8> Yes, I should have been more thorough in proofing my post. Demand doesn't change because of elasticity; the quantity demanded changes.

If calculated, they may not have been able to see the full effect of this change as the calculations (like you state) do not take into account customer perception. Although not seemingly a large change, the $15 change in price can make a huge impact in such highly elastic markets.

</comment></comment></comment><comment><USER10> This reminds me of companies who spam their customer email lists... They only look at the immediate results without being accountable for how many people are tuning you out.

</comment><comment><USER11> Why do people have a problem with being charged more for using more services? Wouldn't a college kid flying home for the weekend with only a backpack like to pay less than somebody taking a two week trip with three large suitcases?

Let's presume that the airlines will price in a profit optimizing way and that, in the long term, competition will limit their overall take. So, compared to a model where all passengers pay an all-inclusive fee, those using fewer services will pay less under the a-la-carte plan.

We don't think that hotels should be required to include dinner in the cost of the room, but we get mad when the airline charges $5 for an in-flight meal. We're happy to pay per-lb to ship stuff via UPS, but we don't want to pay per- lb for the bags we check? I don't understand.

<comment><USER12> > We're happy to pay per-lb to ship stuff via UPS, but we don't want to pay > per-lb for the bags we check?

I went on a trip recently. The combined weight of me and my luggage was perhaps 225 pounds. The combined weight of the young lady standing in line behind me and her luggage was probably 165 pounds. She had to pay substantially more to check two bags instead of one.

As I understand the reasoning, luggage prices increased due to the fuel cost increase of a couple of years ago. Yet somehow me being a foot taller, weighing 70 pounds more, and checking only one bag is cheaper for the airline? I don't understand it.

<comment><USER13> Yes! This annoys me to no end. I would be happy to pay per lb of transported goods, including me and my bag. There is no cost difference to the airline if me bag is 5lb over the limit or if I weighed 5lb more. There should be no cost difference either!

</comment></comment></comment><comment><USER14> I had thought the point of these extra fees was to make it more difficult to compare pricing between airlines. Add-on fees that don't get displayed with the fare make the actual price hard to see, which is good when they're all providing essentially equivalent goods. It's like online stores that all display the same price for an item but have wildly different shipping fees.

</comment><comment><USER15> Correlation != causation.

Failing airlines added new fees and then continued to fail. Not sure you can blame the fees for that.

</comment><comment><USER16> I would expect some hits to profit margin as well. I'll take an airline with a baggage fee if I don't have baggage, typically a short flight / overnight trip. I'll take Southwest for long haul flights when I typically have luggage. The long haul flights have higher margins than the shorter commuter/feeder flights.

</comment><comment><USER17> Correlation is not causation.

The two airlines that still don't charge for luggage (Southwest and JetBlue) are the ones that have no union workforce, no pension liabilities, and in the case of JetBlue, new and fuel-sipping planes.

<comment><USER18> But all of those are impacts on expenses, and therefore profits. This article is about a decline in revenue. Yes, you can make the case that the things you mention indirectly relate to people choosing Southwest and JetBlue over the other carriers, but I think that's a stretch.

</comment></comment><comment><USER19>
      [$669.5 million is] an attention-grabbing 275 percent
      increase from the second quarter of 2008.

Anyone else get annoyed by this very useless factoid from the very first paragraph?

\--

The movie industry has the very same problem. This summer's blockbuster movie is created. Unfortunately, screenings reveal that the movie is terrible and no one actually wants to see it. So what does the industry do? Spend millions on advertising, hoping for a very strong first weekend showing.

And, like the airlines in the story, they wonder why (Avatar aside) sales are falling flat.

<comment><USER13> To be fair, the article ends by saying how useless that factoid is.</comment></comment>


Java 9 and IntelliJ IDEA - <AUTHOR> https://blog.jetbrains.com/idea/2017/09/java-9-and-intellij-idea/ <comment><USER2> Oh how I miss those code inspections and refactorings available for Java. Unfortunately I am forced to used Javascript at the moment and this language just plain sucks compared to Java, although Webstorm is trying really hard to support me. I really hope something like Java, or even better Kotlin, will replace Javascript in future for programming browser applications.

<comment><USER3> Scala.js scratches that itch for me. I rarely write frontend code, but when I do the extra IDE support given to me by IDEA for Scala.js is pretty great.

I'm a full time Scala dev though, so I'm totally biased

<comment><USER4> It is kind of surreal to look at a source file and not immediately know if it's Scala or Scala.js (like, oh wait, this is the front end).

Just finished porting a legacy 5K Coffeescript front end over to Scala.js. Having a typed front end with all the power of Scala completely transforms the browser development experience. Great stuff.

Only major drawback is generated js binaries incur a 160KB "tax", primarily due to size of Scala collections. Though, FWIW, the front end weighs in at 232KB non-gzip'd, and was able to scrap jQuery + DataTables + Modal window and Validation plugin dependencies -- shaved off about 200KB compared to previous front end.

</comment></comment></comment><comment><USER5> It's a small thing, but I think JShell might be the feature of Java 9 I'm looking forward to most. When I was developing Python, being able fire up a REPL to poke at your code while you're writing it is a nice quality of life feature.

<comment><USER6> IDEA has a shell when in debugging mode already.

So I just start my debugger, set a breakpoint, and can then poke around in the code directly, and inspect the state.

<comment><USER7> Eclipse also had one (strangely called "Display"), though as with most things I found IntelliJ's a bit more user-friendly.

</comment></comment></comment><comment><USER8> I'm excited to try Java9. I have an app that holds alot of strings in memory. I'm curious/hoping the 'compact strings' feature makes a noticeable difference on memory usage.

<comment><AUTHOR> If you have many strings that are the same you can use String interning[0] to reduce the memory usage.

0 - [http://java-performance.info/string-intern-in-java-6-7-8/](http://java- performance.info/string-intern-in-java-6-7-8/)

<comment><USER9> They're really different issues. Deduplication reduces the memory consumption of duplicate strings. Compact strings reduce the memory consumption of ascii strings, regardless of whether they're unique or mostly duplicates.

So depending on your situation, you could want either, both, or neither. There is some overlap, however. If you have a lot of ascii strings but also a high level of duplication, either approach will save some memory, but if deduplication by itself saves x bytes, and compact strings saves y, using both will save a lot less than x + y bytes.

And, like the later poster says, don't use String.intern() for deduplication.

<comment><AUTHOR> > They're really different issues.

They're different fixes for the same problem: high memory usage. Depending on the situation you can use one or both, as you say.

</comment></comment></comment></comment><comment><USER10> download still not available at [http://www.oracle.com/technetwork/java/javase/downloads/jdk9...](http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html) ...although it does say scheduled for release on 9/21

<comment><USER11> I hear it will be available noon pacific time.

<comment><USER10> thanks to jshell, i can now practice streaming without looking like a fool

</comment></comment></comment><comment><USER12> I don't see a java9 sdk on [http://java.sun.com](http://java.sun.com), do I need to look elsewhere? Will the normal Oracle distribution be updated later?

<comment><USER13> It should be released around 12pm PST.

</comment></comment><comment><USER14> Seems like Java9 forces more and more useless boilerplate needed for Jigsaw. Not sure I would call it a progress.

<comment><USER15> Not really: using modules is completely optional. Small applications likely won't benefit from the structure and guarantees modules offer. Large-scale applications, however, will certainly benefit from strong encapsulation and explicit dependencies all enforced from compile-time through run-time (and adding an optional linking step for modules with jlink).

(full disclosure: I'm author of Java 9 Modularity, O'Reilly, see [https://javamodularity.com](https://javamodularity.com))

<comment><USER14> How does it relate to OSGi? Also, if just one library uses modules, does it force modularization of everything else or can these two coexist in a reliable fashion?

<comment><USER15> Great questions.

\- OSGi: offers run-time modularization (based on classloaders), with a more dynamic model (bundles can start/stop/load/unload). Often derided for its complexity, which Jigsaw has tried to reduce (in part by offering a less dynamic model)

\- Forced modularization: fortunately, Java 9 has many migration features to allow incremental modularization. Most notable are automatic modules, which allow you to treat non-modularized JARs as modules, and interoperation between automatic modules and the classpath

Hope this helps.

</comment></comment></comment></comment><comment><USER16> I wonder how many will consider switching to Kotlin instead of upgrading to Java 9. Kotlin is really just what Java should/could have been. It wouldn't surprise me if Kotlin has mostly replaced Java in 10 years.

<comment><USER17> Java 9 isn't only a language but it is also runtime, which is used by many languages including Kotline, and Scala.</comment></comment>


Google Cloud SQL (MySQL) - <AUTHOR> https://developers.google.com/cloud-sql/

<comment><USER2> With every cloud service google launches I lose more and more respect for their technical prowess. Nothing that they seem to launch is significantly better than the respective AWS offerings, and most of them seem significantly worse.

This SQL service is so limited I have no clear idea what it's even useful for. Google is destroying their brand with these mediocre services. What happened to their standard of not working on projects unless that are at least 2x better than existing alternatives? That standard clearly has gone out the window with the return of Larry Page as CEO. Good luck guys. Must feel pretty bad to be out-geeked by a company that just a few years ago was basically an online bookstore.

<comment><USER3> Don't worry, it'll be abandoned in a year.

</comment></comment><comment><USER4> I don't trust google with anything like this. Go with companies that are committed and will not change pricing by 5-10x in couple of years like they did with app engine

<comment><USER5> I think that's the wrong lesson. Go with companies where you can use open software stacks that you can migrate elsewhere if need be. Google's price hike wouldn't have been very important if you could easily run App Engine code elsewhere. You can never be sure whether a company is going to suddenly screw you, but you can control what kind of code you write.

<comment><USER6> Migration and cost of migration, how much it cost to take the data out of the provider, if you are using cloud database services.

</comment></comment></comment><comment><USER7> Its just amazing to watch Amazon and Google go at it like this. Reminds me of the Tymshare business model, they rented out mainframes to lots and lots of companies, basically got all of the OpEx paid for and then they could offer their own services that needed a mainframe for less money because they had a free mainframe :-). As long as the capacity you sell leaves enough capacity on the table for your own use this is a really nice business model.

</comment><comment><USER8> Is anyone here using this? I'm interested in how well this works in practice. I'm finding AWS RDS to be less reliable than I'd like and this seems like a good alternative.

</comment><comment><USER9> Anyone measured performance on this? I'd be interested if it was similar in speed to a dedicated machine with SSD.

<comment><USER10> According to the pricing page, the largest instance you can currently provision is one with 4GB RAM and 10GB storage. Not really worth benchmarking at that point.

<comment><USER11> It's integrated with app engine and other google services, so i.e. you can store references to google drive entities.

<comment><USER10> That doesn't change the RAM issue, and I don't see anything in the docs indicating you can off-load your MySQL data directories to another Google service anywhere.

</comment></comment></comment></comment><comment><USER12> It's been around for a while. I think the idea is that it's only for appengine apps, and even then only when a relational database is really useful. I think the key use case is admin/reporting on the back end, with noSQL on the front for scalability

I suppose you could also use it to store key relationships (only), and then periodically update the nosql relationships through the map reduce API also, or build prototypes with it then migrate to nosql when or if you ever need to

</comment><comment><USER13> Is this brand spankin' new? Can't say I'm terribly familiar with all of Google's dev offerings.

<comment><USER10> No. Announced October 2011. [http://googlecode.blogspot.com/2011/10/google- cloud-sql-your...](http://googlecode.blogspot.com/2011/10/google-cloud-sql- your-database-in-cloud.html)

</comment></comment><comment><USER14> Once again lack of Go support in App Engine

</comment><comment><USER15> I tried this a long time ago, I guess when it was in beta. It worked fine, but I never did anything except kick the tires.

</comment><comment><USER16> I believe the entire point of Cloud SQL is to provide real SQL support of App on AppEngine.</comment>


Exploiting Bash Remote Code Execution Vulnerability - <AUTHOR> http://hexale.blogspot.com/2014/09/cve-2014-6271-exploiting-bash-remote.html

<comment><USER2> What is it with all those websites that intercept horizontal scrolling/swiping to load next/prev article while at the same time formatting its content to be several mobile screens wide?</comment>


Get Help with Solving Problems with Test Automation Frameworks and Coding Issues - <AUTHOR> https://www.myphotolikes.com/automation/ <comment><USER2> Has this made money? Can I help as a phone technician?

<comment><AUTHOR> Yes it has - unfortunately we are not hiring</comment></comment>