Why Does The iPhone Still Have The Best Touchscreen In The Industry? - <AUTHOR> http://techcrunch.com/2010/02/15/question-why-does-the-iphone-still-have-the-best-touchscreen-in-the-industry/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Techcrunch+%28TechCrunch%29&utm_content=Google+Reader <comment><USER2> Rather than the physical hardware of the touchscreen accuracy, nobody seems to be commenting on the software accuracy and, more importantly, latency.

Android is much less responsive (yes, even on my Nexus One) than any iPhone model. This is not something people tend to measure, but it matters more than I can tell you. When your only feedback from the device consists of visual cues, it's really important to get them to the user as fast as possible. When the lag time between touch<->visual response is long, you end up performing everything more slowly overall, and the feeling of 'sluggishness' of the device increases, even if it really is doing things faster.

For example, my Nexus One can scroll and render a web page faster than my iPhone 3GS, but in my informal tests, it lags nearly 3x over iPhone when responding to actually moving the page with your finger (iPhone is less than 100ms, Nexus One/Android 2.1 usually over a third of a second by my crappy measurements, don't take it as hard fact. Try it yourself!) As a result, the Nexus One feels like more of a PITA to use, and I am subtly more frustrated when performing any task in the OS in any app.

This stuff adds up. Google needs to pay attention. Normal users cannot even tell you what is wrong when it comes to something like this -- a focus group or study will not help. People cannot tell you "oh, the touch sensing was too latent, so my actions were slowed and I was more frustrated while operating the device." They will just be frustrated in some other way that you cannot correlate to touch latency, or they will say nothing, because the problem is not something they can articulate.

The first OS update for my Nexus One added a bug where the desktop wallpaper becomes misaligned when you return to the home screen after launching an app from anywhere but the center home screen. After doing so, when you touch to begin swiping to another home screen, the wallpaper jumps into the correct place by several hundred pixels. Very jarring. This happens every single time, and it wasn't present in the version that was on the phone when I took it out of the box. How did nobody at Google see this before they released the update? Do they not have humans testing the software they're working on?

When you drag down the notification panel from the top of the screen, the bar jumps by about 30-50px every time when initially pulling it out with your finger. Every time.

I want Android to be successful. Please, Google, pay attention to this stuff.

<comment><USER3> fwiw, my nexus one is way more responsive than my wife's iphone 3g.

</comment></comment><comment><USER4> I understand that the article is purely about touch screens...but...

 _"I exhort all them to get their collective shit together and make something that doesn't fail miserably when compared to retired hardware."_

Nexus One doesn't fail...No...It doesn't. I think the screen overall is much better than the iPhone's. Period. Furthermore, I find almost everything else on the Nexus One is better than almost everything on the iPhone. Meh.

 _"I laugh at AT &T issues, mock iPhone users for lacking features I have on Android, and so on"_

So. We are down a feature. We still win overall..right?...We clearly _DO!_ have our shit together yo' !

<comment><USER5> We?!

<comment><USER6> the royal "we"

</comment></comment></comment><comment><USER7> I assume that this is a "comparison chart" issue. Consumers and review sites just look for things that can be compared with a checkbox, and that's what the hardware manufacturers pander to. "Touchscreen accuracy" is not a well-defined measurement like "number of megapixels", "screen brightness", "has hardware keyboard", "weight", "amount of RAM", "supported H.264 profiles", etc. When you are trying to optimize the things people that are going to use to determine whether or not to buy your widget, why worry about something nobody will notice?

(Now that someone's noticed, this may change.)

</comment><comment><USER8> Good question, but skip the article because the author doesn't know the answer.

</comment><comment><USER9> because apple didn't developed their technology in a stretch deadline, they took their time perfectioning it... all others, just worked hard for a couple months to take on apple's innovation...

<comment><USER10> Then they have no excuse. If apple is able to get it after years of research they should be there with a dozen iphones, a stopwatch and measuring tape. Apple has already done the hard part and sent the benchmark.

</comment></comment><comment><USER11> You're doing it wrong!

Way to only compare the iPhone to crappy Android based devices that are known for their horrible touch.

The Nokia n900 has superior touch accuracy and resolution, as well as having a stylus to give even more power. Who needs zooming when you can click on any link? If you're too weak to put slight pressure on the screen, there's always the Zune HD, which not only has excellent responsiveness, but has a smoother, richer interface.

<comment><USER12> Having recently used an N900, I had to laugh at this comment. The screen was awful. The fact that it isn't capacitive makes it feel like sad, old technology.

Maemo is nice, and the built in XMPP support was quite good.

The screen's resolution, however, was amazing.

<comment><USER11> I actually own an N900. Me and my iPhone wielding friends did a test where we compared the accuracy in drawing programs, and while they usually adamantly defend their iPhone, they easily admitted it's superior precision in touch. We were all able to draw more accurately on the N900.

</comment></comment></comment><comment><USER13> I think Touchscreens are probably a software issue. Not sure how they work, but I would expect a classic machine learning problem for determining the location of a touch.

Therefore I think they will get better with subsequent software updates. The iPhone just has seen more time dedicated to the problem already.

Anyway I am doing fine with my Nexus. Never tried to draw a straight line, don't expect the need to arise anytime soon.

As for straight lines, it makes me think that probably one could add all sorts of heuristics. Not only the current touch, but also the context (what is the user most likely trying to do).

<comment><USER14> Even the 1st gen iPhone touchscreen was better then the recent Androids & Co. ones

<comment><USER13> Who knows how long Apple had been working on it?

<comment><USER15> i'd imagine not terribly long, since they did not develop the touchscreen hardware and the software to control one with high accuracy isn't terribly unique in any way.

i suspect the answer to this question is quite simple - it's cheaper.

<comment><USER13> How do you know the control software is easy? I would think a touchscreen is primarily a software problem (determining the point of touch from a fog of signals).

That said, I think the touchscreen of my Nexus is fine, so far I didn't have any problems with it.

</comment></comment></comment></comment></comment><comment><USER16> I remember a few years back when you would argue and reiterate arguments over which browser/ OS/ gaming console was better. None of those arguments mattered. It was just a giant waste of time (Unless you could convince someone to switch; yeah right!)

I don't even know why I read this article - I figured it would investigate the aspects as to why the iPhone's screen is _theoretically_ the best. Or prove that it is the best, but with facts, not opinion.

I didn't read one fact; just saw a piocture of a unicorn with an iPhone as a horn. What a waste of time.

What kind of facts can we look up to actually figure out if this is a hardware or a software comparison? I think it's in the software.

<comment><USER17> There's a test referenced in the article. With a picture of several phones' screens showing their response. I think that can be called a fact.

<comment><USER16> You're correct. I completely missed that; I don't know how. Here's the link:

<http://labs.moto.com/diy-touchscreen-analysis/>

</comment></comment></comment><comment><USER3> I downloaded a free, crappy drawing program on my nexus one and drew lines line they have in this article, and they weren't squiggly at all. I call shenanigans.

</comment><comment><USER18> See also: <http://news.ycombinator.com/item?id=1128107></comment>


Ask HN: How do I make the move to consultant? - <AUTHOR> I sort of stumbled onto a consultancy job two years ago in cryptocurrency that's sadly just come to an end... going back into an office full time feels like a step back at this point.
I also don't really want to be anywhere near cryptocurrency for a while... and to make matters worse I live halfway around the world from my home in a country that doesn't speak English - I'm a reliable remote worker but I know that's going to put people off, how to alleviate concerns here?
I'm planning to fly home tomorrow, I rented somewhere for a month and I'm already printing business cards and trying to get myself out there on local subreddits. Perhaps other social media too?
Anything I've missed? How can I advertise myself out there? I absolutely kick ass on cloud migration and architecture (and while I know they're not everything, had the certifications to prove it).
Sysadmin stuff, troubleshooting and cloud work was my thing for a decade but I'm trying to catch up with two years worth of developments as well - I can also code but it's mostly hobby stuff. <comment><USER2> I have some meta advice, having done a bunch of really fun consulting gigs over the past few years:

* Flexibility is super important to a lot of people. I like to tell clients "one of the best things about hiring a consultant is that you have no long-term obligations to me. You can cancel our contract on a day's notice if you want, and I won't be the slightest bit annoyed." I've never had anyone actually do that, but folks always always react positively to that offer and appreciate it.

* Bill by the week, do a one-week minimum, and pair that with the above. You'll be surprised how often that week turns into six months (or more).

* A lot of full-time folks get very threatened when a consultant arrives on the scene (particularly if you're a generalist, but even if you're a specialist). This is just a natural protective instinct. Don't be put off by this - go out of your way to reassure them you're there to help, work with them, and help them do their jobs better. The defensiveness will often turn into supportiveness and they can become your biggest champions.

* Think of yourself like a business, not an employee. Make sure you can be independent, go over-and-above on documentation, and communicate like a professional. Don't get mixed up with company drama or gossip. You're above the fray (and that's why you should be paid accordingly.)

<comment><USER3> Me and my partner do the same. Billing weekly is what has allowed us to have no contracts in place, worst case scenario we lose 2 weeks pay but that's never happened.

We have no contracts because plenty of people have a budget but most are not allowed to sign on behalf of the company without legal and procurement involvement. We're now doing over 500k / year on this model and we've just hired our first offshore contractor to help us with a new implementation we won last week. The plan is to be at 1 million in revenue (with tiny overheads) within the next 18 months.

<comment><USER4> I'm amazed that companies with required legal and procurement processes will just pay an invoice without a contract. My employer's finance team absolutely will not write a check unless they can tie the invoice to an approved contract.

</comment></comment></comment><comment><USER5> "I'm a reliable remote worker but I know that's going to put people off, how to alleviate concerns here?"

Show, Dont' Tell.

Write. Start a Blog. I recently hired someone remote and one of the reasons was their blog (among other reasons). I could go through their posts and see how they think, their perspectives on stuff and skills in writing about it. The best way to market yourself is to distinguish yourself from others as much as possible. I am always amazed to find people who are freelancers/consultants but don't have a good online presence. Yes it is hard and yes it takes time. But that is the point.

So don't print business cards. Well ok print them but that should not be your priority. I run a business and I failed to print business cards so far (too lazy). But I still meet plenty of people online and in person. Start writing about whatever you know. It doesn't have to be perfect. It doesn't have to a scientific paper. Just write.

You mentioned sysadmin, cloud stuff, migration etc. Do you know how critical this stuff is for any business ? If you kick ass on this stuff, you already are ahead. But Show, don't tell. And no, there is no easy way. No one cares how good you are because no one knows.

EDIT: I forgot to add that I also recently hired another short term consultant for a gig. This will make them a few thousand bucks and I found them online through their website/blog AND they wrote an e-book on the subject. Easy win for that consultant since I emailed him saying "take my money".

<comment><USER6> > "I'm a reliable remote worker but I know that's going to put people off, how > to alleviate concerns here?" > Show, Dont' Tell.

Isn't he just saying that he doesn't tend to slack off when he's working remote, like some people do? How is writing a blog going to show anyone you work just as hard remotely as in the office?

<comment><USER7> If in your spare time, you show that you are _still_ trying to solve problems, or at least give them thought serious enough to warrant writing about, you're probably quite engaged in your field - which is a good thing.

Do you want the guy who doesn't do anything extra, or the guy who gets his jollies from analysing and optimising apis for some protocol, or whatever?

<comment><USER8> I want someone who focuses on getting work done and doesn't get their jollies from brand marketing.

Code beats blog posts.

Side projects are great when you can't find a rewarding day job. Why would I hire a consultant who doesn't find gigs that tax their expertise?

<comment><USER7> Remember this the next time you are learning something from a tech blog.

</comment></comment></comment></comment></comment><comment><USER9> Here is something nobody mentions that seems to work. Do assessments. You charge $2k for a 2-3 days assessment. If you have relevant experience this is a very cheap and appealing offer to a company looking to improve xyz practice. During the assessment talk to the people making decisions, try to go from one assessment to a monthly freelancing gig. Personally I don't like charging hourly or daily. Please note this is my personal experience and my personal experience in consulting is still very new. I also want to do more stuff on cloud, thousands of companies are moving to the cloud so it could be a good opportunity.

<comment><USER2> That's a really great idea. At worst, you leave the company with a roadmap of what they need to do and that's real value. At best, they can just hire you to do it :)

I've found that when you present this in a very objective way, companies are even more into it: "I'm going to leave you with a roadmap, not a sales pitch. You can use it to hire me, hire someone else, or do nothing - I'll support you guys no matter what you do."

<comment><USER9> Yes as long as they have a problem they care about and you can show you solved similar issues in the past they will most likely say yes. Also in the software industry people read quite a lot so they love the idea of a carefully drafted document about their challenges and potential solutions written by a professional.

<comment><USER10> Do you have any tips on how to learn to carefully draft that document like it was written by a professional?

<comment><USER11> Not OP but I'd suggest emulating well done open source projects.

</comment></comment></comment></comment></comment><comment> barry-cotter Tptacek

[https://news.ycombinator.com/item?id=4247615](https://news.ycombinator.com/item?id=4247615)

(1) Start a freelance practice.

(2) Raise your rates.

(3) As you work for clients, keep a sharp eye for opportunities to build "specialty practices". If you get to work on a project involving Mongodb, spend some extra time and effort to get Mongodb under your belt. If you get a project for a law firm, spend some extra time thinking about how to develop applications that deal with contracts or boilerplates or PDF generation or document management.

(4) Raise your rates.

(5) Start refusing hourly-rate projects. Your new minimum billable increment is a day.

(6) Take end-to-end responsibility for the business objectives of whatever you build. This sounds fuzzy, like, "be able to talk in a board room", but it isn't! It's mechanically simple and you can do it immediately: Stop counting hours and days. Stop pushing back when your client changes scope. Your remedy for clients who abuse your flexibility with regards to scope is "stop working with that client". Some of your best clients will be abusive and you won't have that remedy. Oh well! Note: you are now a consultant.

(7) Hire one person at a reasonable salary. You are now responsible for their payroll and benefits. If you don't book enough work to pay both your take-home and their salary, you don't eat. In return: they don't get an automatic percentage of all the revenue of the company, nor does their salary automatically scale with your bill rate.

(8) You are now "senior" or "principal". Raise your rates.

(9) Generalize out from your specialties: Mongodb -> NoSQL -> highly scalable backends. Document management -> secure contract management.

(10) Raise your rates.

(11) You are now a top-tier consulting group compared to most of the market. Market yourself as such. Also: your rates are too low by probably about 40-60%. Try to get it through your head: people who can simultaneously (a) crank out code (or arrange to have code cranked out) and (b) take responsibility for the business outcome of the problems that code is supposed to solve --- people who can speak both tech and biz --- are exceptionally rare. They shouldn't be; the language of business is mostly just elementary customer service, of the kind taught to entry level clerks at Nordstrom's. But they are, so if you can do that, raise your rates.

<comment><USER12> This reads as one of those "how to draw an owl" memes, step 1. draw a circle; step 2. draw the rest of the owl.

I've been trying to succeed at consultancy for the last couple years, and here's my list of (realistic) steps

1) Reach out to your network and see if anyone is looking for help that you can provide

2) Realise that clients don't care about your background, or skillset, they're 100% focused on what results you can provide and how fast

3) The usual advice from the lucky ones is to always raise your rates, "raise your rates after every contract!" etc. but a more realistic approach is to lower your rates when you have to. I wish I could get steady work at my usual rates, but sometimes I will take on side gigs at a lower hourly rate just because they help keep you afloat

4) Despite what people may say, consultants that can speak both tech and business are very common. They might not be very good coders, or very good biz people, but they are common. Differentiating yourself comes down to personal network rather than any substantial difference in output.

5) Specialists are paid a lot better than generalists. If you're an awesome cloud migration expert (like OP) focusing on that will likely bring more clients and revenue than trying to branch out to other areas

Most other advice is good, but it's important to notice that it won't apply to most folks when they're starting out. I still love the freedom that working for myself affords me, and that it's allowed me to do things that I would have otherwise not been able to, but it's a lot of work, and a good chunk of my time is spent essentially working for free (writing proposals, chasing up payment, etc)

<comment><USER13> It is a catch 22: unless you are spending at least half your time prospecting new clients it is hard to keep a steady income, but it is hard to invest that much time in the commercial side of your "one man show" if you are not charging high enough.

Every beginner underestimate how much salesmanship it takes to run a successful freelancer career.

<comment><USER12> Yes, it's very difficult to balance and it's been an interesting experience in the sense that no one really cares about what work you've done in the past; if they like you on a personal level they'll hire you.

I'm comfortable doing sales, but it's maintaining that balance that I find difficult – if I spend too much time pitching I make no money as I have no employees to deliver the work and if I spend too much time working I get stuck in a cycle of feast and famine.

<comment><USER14> THIS 100%!

</comment></comment></comment></comment></comment><comment><USER15> I have a few friends that moved to that role and basically it is like creating a personal brand.

Start sharing knowledge on your personal website, blog, linkedin, twitter and other social media and also make sure to make it clear that you are open for conversation and could help other people/businesses. Attend local events and conferences, even become a speaker. Talk to a lot of people, see what problems they have and discuss how you could help. Get engaged with them, give an advice or do some small work for free. This would give you better impression of the project and the people that you would be working with and then tell them that you would be happy to consult them and offer them your rates.

When you have completed a project, ask if you could use them for future reference. On your blog/twitter write about your experience with this project and how you helped that company (without sharing any sensitive or business critical information) - this will show future clients that you are trustworthy. Rinse and repeat.

<comment><USER16> For many people, the problem with that is that you have to pay the bills during that startup phase.

But yes, in general you are right.

</comment></comment><comment><USER17> I'll give you a much simpler answer than I've seen so far, and it was given to me when I posed the same question. The advice proved to be some of the best I've ever received.

\---- Learn how to sell ----

Consulting is an interesting ballgame because you might be the customer support and technical resource - but first you're the salesman.

I made the switch about 9 years ago and the first year was brutal. Alot of the advice here is spot on but it reaches past the point that you landed a customer at a project price that you can endure for some period of time.

A book that helped me with this a great deal was "You can't teach a kid to ride a bike at a seminar" by Sandler

<comment><USER18> > \---- Learn how to sell ----

This is a bigger deal when you are peddling your own wares, but the skills involved apply to working as an employee as well.

You're just selling a slightly different product (standing army soldier vs. mercenary).

</comment></comment><comment><USER19> Okay, assuming you are smart, skilled, work hard, lucky, organized etc this is the one piece of strategic advice that will deliver the most value if you start a consulting practice:

Define your niche as narrowly as possible.

I know it sounds counterintuitive but it works wonders. You can read crossing the chasm or just try it. You're not a tech consultant, you're not a crypto consultant, you're not even a bitcoin consultant, you might be something like the best person to document the ICO process for the investment community in Europe.

Because there is a lot of competition for the former but you should basically own your market.

<comment><USER20> This.Exactly. Many years ago when virtualisation first appeared on the market I worked for a business that marketed themselves as "Windows P2V experts". We got lots of jobs from clients that had in-house IT depts, external consultancies contracted in permanently etc. The value we brought was that there was this one large job that needed to be done, the business benefit was very clearly demonstrable, once we did that job we were no longer a threat for the in house IT or the general consultancy as we only did that one job. We were also responsible for the outcome and we supported the virtual infrastructure until the other guys got trained up on it. We also did very similar stuff many times so we knew exactly what to expect, what can fail and how to fix it etc. We had the satisfaction of knowing we're doing our niche task well. This was a very good job for me back then. Now I prefer to travel less and work remotely, but back then I enjoyed it a lot.

I would recommend finding a good niche and getting really good at it to anyone in our industry. Assuming you retain the ability to swap that niche every few years if necessary. The industry changes continuously.

</comment></comment><comment><USER21> One way to make the most of your country of residence is to exploit the timezone difference as a positive. Look for companies that have 24/7 operations and need to have someone available for troubleshooting when their main team are asleep.

Two things that worked for me are firstly having a technical blog, which shows off not only the skill set you have, but also that you can communicate well. It also shows that you have the enthusiasm and curiosity to go beyond the day- to-day work of cranking out code.

Then secondly, go through agencies to find your initial contracts. Many companies in big cities will accept remote employees if they can find good ones, but it's hard to find those companies if you are not local. The agency essentially does that for you in exchange for a cut of your day rate. Also, they usually (in London at least) pay weekly so you don't have the big financial dry spell before your first invoice is paid. Once you have a bit of cash built up, you can go direct to companies as an independent.

<comment><USER22> All the "agencies" I know of in London are just the contracts arm of a traditional recruiting business. They are agencies in terms of how they operate (charging the customer on your behalf and taking a cut), but in terms of the kind of jobs they'll find you it's all onsite 6 months+ gigs that are often also available as a permanent positions.

If there are any agencies specialising in actual consulting gigs (meaning either short term / part time / remote and project-based, like a cloud migration), I'd be interested if someone could give a few pointers.

</comment></comment><comment><USER23> I have no advice, just a anecdata: Me and people I know got into consulting, because we were interested in certain technologies; really interested, researched all stuff, tried to answer all questions on those matters, engage with people online, organizing events.

And all of the sudden, people come to you with business cases, questions and consulting gigs. I see consulting for money an extension of something, that you are already passionate about (I mean professionally passionate, you don't have to pour your identity into it).

The idea is not that hard, it's just that you have to have enough energy and sitzfleisch to see these things through.

</comment><comment><USER24> Here's what my first year of consulting was like, with tips I learned along the way: [https://www.gkogan.co/blog/how-i-learned-to-get- consulting-l...](https://www.gkogan.co/blog/how-i-learned-to-get-consulting- leads/)

Don't bother with social media and business cards. Figure out where your potential clients get their information, and go there. "Fish where the fish are."

</comment><comment><USER25> Printing business cards and going on social media are the last activities, not the first. The first should be finding someone who respects your work to hire you. If you can't do that, all the business cards and social media in the world won't help. After you have a first client, then build your brand.

<comment><USER26> How do you find the first client if it's explicitly something that happens before advertising yourself?

<comment><USER27> You've been "advertising yourself" for years. Not to sound too LinkedIn-y, but every interaction with a person is an advertisement, and every person is a potential client.

Most freelancers get started doing work for family, friends, or former bosses or coworkers. Having a prior relationship increases the odds of acceptance, and if you are a worthwhile consultant with a decent client (ideally, you wouldn't approach people who you know would be bad clients) it will usually result in a success story.

</comment></comment></comment><comment><USER28> Don't try to build a brand name if you're aiming to remain a one-person shop. Your name should be the brand. Having to push ACME Corp. pretty much doubles the required branding efforts, and potential clients / partners might be put off by the unnecessary front.

</comment><comment><USER29> Try subcontracting for an existing consultancy. Local meetups often have consultancies with excess demand to fill.

<comment><USER30> This is a great suggestion - many of the big name consulting companies (Accenture, Ernst & Young, McKinsey, CGI, Capco) will happily subcontract out the work that they've sold, or bring on external consultants to fill out a team.

<comment><USER31> Any advice on how to find the right person to talk to at these firms? I used to work at Deloitte, and even there I haven't figured out how to sub on something.

<comment><USER32> I can connect you to the right person at Accenture at least, email me kthejoker gmail

</comment></comment></comment></comment><comment><USER33> It's all about leads. Gigs sometimes end abruptly and you need a backlog. Find some clients on up work and try to get them off the site (be cool about it, it's a violation of up works tos). Also a lot of companies like local. Reach out to local big companies and send them a one pager on your skills. There is a huge demand for your work, it's just really hard to find.

</comment><comment><USER16> Lack of programming skills is certainly an issue for you. I recommend remediating that, little by little. You don't need to join a bootcamp and land a developer job in 3 months (though why not?) but a little coding here and there can't hurt!

A lot of companies would like to employ open source technologies, but lack the manpower to setup and maintain that software. There is a lot of "enterprise ready"-ish projects out there like Nextcloud, Mediawiki, Keycloak etc, which can replace much more expensive and vendor-locked solutions. Maybe that is right up your alley?

You say you are living in a non-english native country. If that country generally has lower living-expenses and salaries, maybe you can use that to your advantage. With connections both to your local community and a higher- paying market you could start an outsourcing business and in the process help local developers. Or maybe there are alreay outsourcing firms in your area which might pay reasonably well?

</comment><comment><USER20> I did that move a decade ago, but I think my advice is still valid. If you're looking for contracts lasting at least few months rather than short jobs of few weeks I recommend to talk to some recruiters. Before you do talk to them make up your mind what daily rate you would like to get depending on the length of the contract. Personally, my rates on anything shorter than 3 months are double the daily rate I ask for in a 6-12 month contract.

Also, don't let yourself be convinced by the recruiter to take a permanent job if they don't find you any good contract for a while. The moment you show any willingness to even consider a permanent job they stop looking for contract gigs for you and focus on finding you a permanent role. I have no idea why recruiters prefer placing FTE's, but I observed that many times with my colleagues.

<comment><USER34> It's easy: better returns for recruiters when placing FTE's anytime (one month salary as payment)

</comment></comment><comment><USER35> I'm going to give another perspective simply because it's not not listed here, though it may be unpopular.

Big consulting firms have global presence. @pards mentions a few good ones but would like to add Booz Allen to the list as well. It's a boon to the firm to hire local, but western talent. Usually they have to pay someone 15-20k to move out there plus a raise and lots of incentives.

Although many are suggesting 1099/subcontract work, I think that in some cases you can absolutely get a better deal as a full time employee. Depending on your level, you won't need to sign a non-compete this way or anything like that. When you think it's time to jump out you can transition as a subk working for your same clients and team potentially if you maintain the relationship.

</comment><comment><USER36> Out of curiosity how would your day to day work look like? There's an interesting article that explains why "freelance developers" (or devops or whatever) are not actual consultants because they are paid to do something, not to know something ([https://daedtech.com/software- consulting/](https://daedtech.com/software-consulting/)). I would also like to reach a level where I get paid to share my expertise, given a specific context, without actually building the solution but, like somebody already said, seems way harder than building and marketing your own products until something sticks.

</comment><comment><USER37> I've been consulting since 1995, and have been co-hosting the Freelancers Show podcast ([https://devchat.tv/freelancers/](https://devchat.tv/freelancers/)) for about 5 years now. If I could distill all of the advice I've given (and received) over those years, it would come down to a few things:

(1) Consulting means running a business. This requires a different set of skills, and often different thinking, than you have as a developer. You'll have to learn budgeting and marketing, among other things. Learn these skills, and realize that for as long as you consult, you'll need to improve at them.

(2) There are many different types of consulting. I personally do Python training, and love it. But many consultants do what's sometimes called "staff augmentation," working as a contractor on gigs that can last one day to one year. Staff augmentation is the way that most people start off, and it's not inherently bad -- but you can make far more money, and have more influence and satisfaction, by providing insights and value from your experience and knowledge. And yes, this often means that you can make more money diagnosing problems and architecting solutions than actually developing the software that solves the problem. Also, the higher the level at which you're working at a company, the more you can make; helping a team leader is better than helping a programmer, but helping a VP is better than a team leader, and helping the CEO is better yet, still.

(3) Don't forget to budget, and to put money away for a rainy day and for retirement. You should probably have a runway of 6-8 months before starting to freelance, just because it takes time to find clients.

(4) Specialize. You want to be the big fish in a small pond, rather than the reverse. There are lots of Python consultants out there. But there are many fewer who teach courses, fewer yet who do it full time, and and even fewer who talk about themselves nonstop as trainers. So companies call me, because the problem that they have -- employees who don't know Python -- is one that they instantly understand I can solve. Specializing means that most people will ignore you, because you don't solve their problems. But for those whose problems you _can_ solve, you'll fit perfectly. Philip Morgan has a great book and podcast on this topic.

(5) Get your name out: Write a newsletter, blog, speak at meetups and conferences, and let people know (nonstop!) who you are, and what you do. It'll take time -- in my case, it took years -- but having such a constant presence, online and off, will lead people to remember you and ask you for help.

(6) Think about how you want to bill. Many do hourly, but it's better to do daily, even better to do weekly, and better yet to do value-based pricing, in which you charge according to the value that the client is getting. Jonathan Stark writes a lot about this. You'll likely experiment a bit with billing tactics.

(7) You'll have bad clients. Companies will be mean to you. They'll stiff you. They'll say it's your fault. This is all rather unpleasant; overall, I've only had a handful of such clients, but they stick out in my mind. Learning to say "no" to clients, and to have the right gut feeling about them, takes... well, the length of a career.

(8) If you play your cards right, you'll make more money than your salaried counterparts, without too much less stability. Moreover, you'll be able to set your own schedule. When things work well, they work _really_ well, and gives you a sense of independence and fulfillment that wouldn't be possible in a full-time "real" job. The thought that I've paid off my mortgage, paid for family vacations, and still have savings... well, I kinda marvel at it, even now. But if I can do it, then so can you.

(9) Finally: Consulting isn't for everyone. You might decide that it's too hard, or that it doesn't suit your personality, or that you haven't found the right niche. That's totally OK. If you want to go half-way, you can work as a consultant for an outsourcing agency, which doesn't pay as much but gives you the variety and flexibility of consulting. But if you end up hating freelancing, and going back to a "real" job.... that's totally normal and reasonable, and you shouldn't feel like a failure if that happens.

Be sure to read Brennan Dunn's "Double Your Freelancing" stuff ([https://doubleyourfreelancing.com/](https://doubleyourfreelancing.com/)) and Patrick McKenzie's extensive and inspirational writings ([https://www.kalzumeus.com/greatest- hits/](https://www.kalzumeus.com/greatest-hits/)).

Best of luck!

<comment><USER38> Lots of good advice.

>Specialize.

This is one of the tensions I've always needed to deal with. My inclination (for a different type of consulting) has always been to lean towards being something of a generalist but I've always had to temper that with being legitimately expert on a relatively small subset of technology and the market.

One recent example I've discussed with someone I know is that it's probably better to be an expert on AWS (or even AWS billing, for example) than "expert" on public cloud platforms generally.

>Get your name out

Especially at the beginning--but really in general--expect to spend quite a bit of time that isn't "on the clock." Beware of doing too much free work (like keynoting events) just for the "exposure," much less pay for your own T&E to do so. But you're going to have to invest time in getting known and just word of mouth is likely not enough.

<comment><USER37> AWS is a great example of a topic that used to be specific, but has now grown too general to have a great consulting practice. AWS billing, by contrast, is a fantastic topic; I actually know someone who specializes in this, and he's making a killing by saying, "I'll save you hundreds of thousands of dollars each month on AWS fees."

</comment></comment></comment><comment><USER39> If you're a cryptocurrency expert you really should look into joining TopTal: [https://www.toptal.com/#hire-just-bright-hackers- now](https://www.toptal.com/#hire-just-bright-hackers-now) \- they're really looking for them a lot.

Once you're in as a crypto expert you can apply for any type of remote job, not just crypto. I've been applying to Elixir jobs for example, because I really like that stack and wanted to grow in it while I came in as an iOS developer. Just make sure you list all of your other skills as well in your resumé (and don't lie about it, please).

Disclaimer: the link has a kickback for me. Just go to toptal.com without all of the hashtag stuff if you don't like that idea. I have been working for years for them and the amount of work, the immediate trust you get from clients and the reduction of headaches (just every two weeks a payment without billing and begging) makes it worth it.

<comment><USER40> What kind of rates can you get on Toptal? That's always been my biggest hesitancy around sites like this.

</comment></comment><comment><USER31> First, pick a very specific niche that you know has demand, ideally by asking potential customers and then positioning yourself in that niche.

You say "sysadmin stuff, troubleshooting and cloud," but clients want to know specific platforms you know well, software you've implemented and types of problems you can solve.

Make sure you are targeting a market where they are interested in "dating not marriage." Many places will not outsource their sysadmin and try to hire you full time instead of as a consultant.

Finally, this comes from my experience running Tail Risk (www.tailrisk.com) a cybersecurity services firm. We have excess project work, tools, templates and playbooks we would like to share with independent (security) consultants. Is that something that interests anybody on this thread? If so, please reach out.

*edited for typo

</comment><comment><USER41> This conversation seems super interesting & super valuable to a lot of people aspiring to roles like this... or also just junior level folks like myself looking for some insight into how more experienced programmers operate.

Why didn't I see this thread (with over 300 pts) pass through the front page at some point? Maybe I just missed it?

</comment><comment><USER42> As someone who spent nearly 20 years doing sysadmin consulting: The first rule to becoming a consultant is: Don't do it.

Largely I think it boils down to: Most places consider operations work a "cost center" and the nature of cost centers (as opposed to profit centers) is that they always want to reduce them.

I have never worked harder, for less money, than when I was doing sysadmin consulting.

Come to terms with why you want to do consulting in the first place. What do you want to get out of it?

That said: First thing is you want to get your ducks in a row: Figure out accounting and billing, get a Tax-ID, figure out your company structure (do you incorporate, sole proprietor, etc?), and figure out google adwords. Also figure out local meet-ups where people who need you might go.

</comment><comment><USER43> Try this: [https://jonathanstark.com](https://jonathanstark.com)

</comment><comment><USER44> Gerald Weinberg's book _The Secrets of Consulting_ might be worth your having a look.

</comment><comment><USER45> Make the move to consultant?

I can't say how things are done nowadays, but the traditional way has been to get fired...</comment>


White House Takes New Line After Dire Report on Death Toll - <AUTHOR> https://www.nytimes.com/2020/03/16/us/coronavirus-fatality-rate-white-house.html <comment><USER2> ... "we predict that transmission will quickly rebound if interventions are relaxed."

So we should expect another wave in China? Or is China a counterexample?

</comment><comment><USER3> >"We don't have a clear exit strategy," Dr. Ferguson said of the recommended measures. "We're going to have to suppress this virus — frankly, indefinitely — until we have a vaccine."

This seems to dismiss the possibility that drugs such as Chloroquine or Kaletra could significantly reduce the need for hospitalization and/or respiratory support.

Vaccines are unlikely to be ready before the epidemic burns itself out, so therapeutic antiviral drugs would seem to be the only hope besides social distancing.

<comment><USER4> It's also reasonable to think about the scenario where mutations are fast enough to compromise any vaccine or herd immunity strategy.</comment></comment>


Startup countries: a quick video intro to seasteading - <AUTHOR> http://athousandnations.com/2010/12/14/startup-countries-seasteading-lightning-talk/

<comment><USER2> "The worst companies kill many of their own customers"</comment>


PSLV-C23 Successfully Launches French Earth Observation Satellite, Four Others - <AUTHOR> http://www.isro.org/pslv-c23/mission.aspx

<comment><USER2> Today, ISRO's PSLV[1] launched five international satellites into their sun- synchronous orbits - SPOT-7 from France, AISAT from Germany, NLS 7.1 and 7.2 from Canada, and VELOX-1 from Singapore[2]. This was PSLV's 25th successive successful mission.

Here's complete launch video if anyone's interested: [http://www.youtube.com/watch?v=UR5S5nNbd4U](http://www.youtube.com/watch?v=UR5S5nNbd4U) (00:45:00 onwards)

This was 114th space mission of ISRO. Here's a complete list of ISRO missions till date: [http://www.isro.org/publications/pdf/114%20missions%20Brochu...](http://www.isro.org/publications/pdf/114%20missions%20Brochure.pdf)

Next up, I am waiting for GSLV Mk3 X1 mission in July, in which they're going to test new GSLV Mk3 heavy lifter[3] launch vehicle and a Crew Module[4].

[1][http://en.wikipedia.org/wiki/Polar_Satellite_Launch_Vehicle](http://en.wikipedia.org/wiki/Polar_Satellite_Launch_Vehicle)

[2][http://www.isro.org/pslv-c23/pdf/pslv-c23-brochure.pdf](http://www.isro.org/pslv-c23/pdf/pslv-c23-brochure.pdf)

[3][http://en.wikipedia.org/wiki/Geosynchronous_Satellite_Launch...](http://en.wikipedia.org/wiki/Geosynchronous_Satellite_Launch_Vehicle_Mk_III)

[4][http://en.wikipedia.org/wiki/ISRO_Orbital_Vehicle](http://en.wikipedia.org/wiki/ISRO_Orbital_Vehicle)

<comment><USER3> > 25th successive successful mission.

You added a word. What is more impressive is the current streak of 23 successful missions going back to 1999.

<comment><USER4> > successive - following one another or following others

> successful - accomplishing an aim or purpose

What's the extra word here?

<comment><USER3> There have been 25 total successful missions for PSLV. 23 of them have been successive / consecutive. Considering that "successive" is not a word used commonly and that the fact that the number of "successive" missions was wrong, I thought it was a typo.

</comment></comment></comment></comment><comment><USER5> PSLV is still constrained by pay-load, it cannot carry more than 2000 kg loads. India should focus more on getting GSLV MK II and MK III to become more reliable so heavier pay-loads are delivered.

</comment><comment><USER6> This title is neither descriptive nor neutral. The title in the page itself seems to be: "PSLV-C23 [Successfully] Launches French Earth Observation Satellite[- SPOT 7] and four other co-passenger satellites[ from SDSC SHAR, Sriharikota]"

I've put in brackets the parts of the title that I think can be omitted without loss of context. If changing the headline, I imagine adding something like, "Indian Space Organization's PSLV...." to the beginning of that headline is best.

<comment><USER7> You're right: the submitted title ("Indian Space workhorse PSLV delivers again") was badly editorialized. Submitters: doing that violates the HN guidelines. If it's necessary to change a title (because it's linkbait or misleading), please ensure that the title is accurate and neutral.

In this case the content itself has changed as the satellites were launched, so we've updated the title again.

</comment></comment><comment><USER8> I am amazed to see that this submission has gathered 65+ points without a single comment before this one.

<comment><USER9> This "very popular but seemingly not discussable" submission phenomenon is something that also fascinates me.

Is there a clever name for this phenomenon yet? If not...anybody want to attempt to give it one? 'Cause I got nothin'.

<comment><USER10> I also feel like many will wait a story out, to see the first few comments which set the tone for the discussion and give points to debate/discuss.

<comment><USER9> very true and every site is different w/ regard to how the community responds/handles link discussion but it does seem that sometimes discussion doesn't seem to be "a thing" for certain links.

It sorta reminds me of [http://en.wikipedia.org/wiki/Googlewhack](http://en.wikipedia.org/wiki/Googlewhack). Maybe it just needs a clever name?

<comment><USER11> "Like" syndrome?</comment></comment></comment></comment></comment>


How I hacked SIM cards with a single text - and the networks DON'T CARE - <AUTHOR> http://www.theregister.co.uk/2013/09/23/white_hat_sim_hacker_disillusioned_and_dismayed_by_operator_response/

<comment><USER2> Gee, I wonder if they're sluggish on fixing these flaws because certain 3-letter agencies enjoy the ability to easily push malware to our phones.</comment>


GDPR: By far best explanation by Tim Walters - <AUTHOR> https://www.youtube.com/watch?v=-stjktAu-7k <comment><AUTHOR> I have read most of the text on internet about GDPR but this explanation is for an order of magnitude better, it is a bit long but it covers most of conceptual questions that might rise implementing it.</comment>


Furor on Claim Women's Choices Create Gender Gap in Comp Sci - <AUTHOR> https://www.insidehighered.com/news/2018/06/25/lecturers-explanation-gender-gap-computer-science-it-reflect-womens-choices <comment><USER2> > Some have called on the university to fire Reges

Unless someone was writing something that was directly encouraging violence silencing people should never be the response. I don't know who those "some people" that the article talks about are, but if they are mainstream then this could lead to people only researching things that they are sure would reach a PC conclusion. Or alternatively researching a lot and only publishing pc conclusions.

<comment><USER3> That some person calls for the firing isn't the problem, but it's the faculties following through with it.

It's the infantilized "student customer" along with a long-standing infiltration of sectors of Academia with ideologically motivated staff that is enabling all that.

The majority of staff/students do not a agree with this, but there's a system of fear where you can ruin your career by being labeled racist/sexist (etc.) by one of these ignorant loudmouths.

We can't change this by calling for individuals to not act in a certain way, we need to dismantle this power structure inside (parts of) Academia. It starts with speaking up.

<comment><USER4> idk, it reads as though the university has handled this pretty well so far? It certainly helps that the author has a verifiable track record of engaging and encouraging women in CS.

<comment><USER3> I was making a general point, but even then you shouldn't need to have a "verifiable track record" just to say something mildly controversial without getting fired.</comment></comment></comment></comment>


The Right Touch for Control - <AUTHOR> http://www.rdmag.com/articles/2013/04/right-touch-control?et_cid=3224395&et_rid=384790507&linkid=http%3a%2f%2fwww.rdmag.com%2farticles%2f2013%2f04%2fright-touch-control

<comment><AUTHOR> This article ties in with a book I just started reading(culled from Fog Creek's Reading list) called "The design of Everyday Things" It inspires me to resist "cool" at the expense of what works best.</comment>


Dailymotion selects Streamroot for large-scale Peer-accelerated video delivery - <AUTHOR> https://blog.streamroot.io/dailymotion-streamroot-winning-combination-large-scale-ott/ <comment><USER2> Anything that can make dailymotion a stronger YouTube competitor is a good thing. If they can achieve more engagement by outsourcing some of the delivery then I think it is great, they might be able to focus on more user-centric features.</comment>


How easy is it to hire Haskell programmers - <AUTHOR> http://www.haskell.org/pipermail/haskell-cafe/2010-July/079619.html

<comment><USER2> The whole thread is worth reading.

[http://www.haskell.org/pipermail/haskell- cafe/2010-July/thre...](http://www.haskell.org/pipermail/haskell- cafe/2010-July/thread.html#79673)

[http://www.haskell.org/pipermail/haskell- cafe/2010-July/thre...](http://www.haskell.org/pipermail/haskell- cafe/2010-July/thread.html#79673)

<comment><USER3> about as easy as hiring scala programmers, i figure...

Hey, haskell's up to #14 in github league table:

<http://github.com/languages/Haskell>

</comment></comment><comment><USER4> > (Well, in case of these two, better to check that person has some grasp of > static typing :))

<http://www.erlang.org/doc/reference_manual/typespec.html>

[http://web.mit.edu/drscheme_v42/.share.sun4x_510/plt/doc/ts-...](http://web.mit.edu/drscheme_v42/.share.sun4x_510/plt/doc/ts- reference/index.html)

Shouldn't be that hard. It's not because the language is dynamic that it doesn't support static types ;)

<comment><USER5> The fact that there are extensions to those languages to add static typing still doesn't establish much of a correlation between "knows this language" and "groks static typing." There are lots of very proficient Schemers who have never used Typed Racket.

<comment><USER4> Yes, my comment wasn't meant to be totally serious. If static typing extensions were really used by everyone using Racket and/or Erlang, I wouldn't even have had to link to the extensions to begin with :)

</comment></comment></comment><comment><USER6> Should be an easy function - if you don't want them to have side-effects

</comment><comment><USER7> How easy is it to hire _good_ programmers?

It is easier to hire good Haskell programmers because people who choose Haskell are interested in what they are doing.</comment>


Unlike Immigrants, Robots Will Permanently Drive Down Real Wages - <AUTHOR> http://modeledbehavior.com/2011/01/04/unlike-immigrants-robots-will-permanently-drive-down-wages/

<comment><USER2> Unless...

" _Sleep Dealer_ tells the story of a young _campensino_ named Memo whose DIY radio draws unwanted attention from a U.S. military contractor. Fleeing to Tijuana, Memo has implants placed in his body in order to become a 'node worker' -- a Mexican laborer who, from south of the border, taps into a vast network that operates robots located in the United States." [http://www.wired.com/entertainment/hollywood/news/2008/01/sl...](http://www.wired.com/entertainment/hollywood/news/2008/01/sleep_dealer)</comment>


The Design and Implementation of the Anykernel and Rump Kernels (2012) [pdf] - <AUTHOR> http://lib.tkk.fi/Diss/2012/isbn9789526049175/isbn9789526049175.pdf

<comment><USER2> [I'm the author]. The core tech description is still (mostly) valid, but the general ecosystem has exploded far beyond what is discussed in the thesis. See [http://rumpkernel.org/](http://rumpkernel.org/) for a description of current reality (and [http://book.rumpkernel.org/](http://book.rumpkernel.org/) for ongoing work to produce an updated version of the thesis).</comment>


How India's biggest gameshow app scaled NoSQL to 7.5M trans/min - <AUTHOR> https://medium.com/loco-blog/a-real-time-in-game-currency-service-with-7-5m-transactions-minute-fdd21b1bd8da <comment><USER2> great article!</comment>


Has the Python GIL Been Slain? - <AUTHOR> https://medium.com/@anthonypjshaw/9440d28fa93d <comment><USER2> This is interesting, but if you're working on truly CPU-bound code, is Python likely to be the best choice?

Is multi-interpreter Python 3.8 really going to be more maintainable than just writing some C++ or Java? Is this going to be yet another way we need to understand concurrency in Python?

<comment><USER3> I don't think it's safe to assume that everyone is working on geenfield projects, where the performance requirements of the project are known at the outset.

Work that increases the upper bound of Python's performance is valuable because there is so much Python code already in existence, and it could be useful to make that code faster, due to shifting requirements for that code, or new knowledge about those requirements.

I think similar reasons justify faster runtimes such as PyPy.</comment></comment>


Coinbase becomes the most downloaded iPhone app in the U.S - <AUTHOR> https://9to5mac.com/2017/12/07/coinbase-most-downloaded-ios-app/ <comment> rising-sky [dupe] [https://news.ycombinator.com/item?id=15875929](https://news.ycombinator.com/item?id=15875929)

</comment><comment><USER2> The first link to coinbase is an affiliate link.

I know these guys aren't wapo, but still a pretty profound lack of integrity.</comment>


Ask HN: CS Researchers, why did you choose your subfield and niche? - Brazilian-Sigma My background:
CS rising junior, indecisive about choosing a sub field.
I want to pursue CS research before I graduate for its own sake and partly to compensate for my lackluster GPA for grad school.   But each field seems to have a pet peeve:
1) AI/machine learning: too saturated, fear of an AI winter
2) Networks/security: boring, reading a research paper seems torturous
3) Bioinformatic/quantum computing: may never find their place in real world and die out
Etc.
It continues to amaze me how some people know exactly what they want to do in their freshman year or even earlier.  My question is: what motivated you to pursue what you're doing right now and at what stage in your academic career? <comment><USER2> My advice: don't worry too much about picking a field (and definitely don't focus too much about what people who happen to be the same age as you are up to -- it's a big world).

'elonmollusc's advice is really sound: at least at the beginning, choose the advisor or collaborators, not the subfield. You can probably get yourself interested in _any_ problem if you put effort into it and enjoy the work or the people you're working with. And even if you don't enjoy it, you'll learn something about your own preferences and what kind of environment and style of work you want to build around yourself. Is there a class you've taken where you really enjoyed the material or the professor's style? Go to their office hours and talk to them about research. It's even better if you bring some of your own ideas for what you might be excited to work on (perhaps keying off some of the professor's own recent work; do you have an idea for a way to extend it or a new place to try it?) -- faculty love it when students are a source of new ideas.

If you want to do grad school in CS, here is some stock advice:

\- Read some of the essays that people have written about "what grad school in CS is like." I did an interview on this with my friend Eugene Wu ([http://www.pgbovine.net/PhD-interview-eugene-wu-keith- winste...](http://www.pgbovine.net/PhD-interview-eugene-wu-keith- winstein.htm)), and our friend Adam Marcus ([http://marcua.net/writing/gradschool- guide/](http://marcua.net/writing/gradschool-guide/)) also wrote a guide after finishing his PhD. Our other friend Phil Guo also wrote a depressing book about his (not-so-good, but also not horrible) time in grad school at Stanford ([http://pgbovine.net/PhD-memoir.htm](http://pgbovine.net/PhD-memoir.htm)), and he ultimately ended up in a great job where he seems happy and productive (and now tenured) too.

\- Read some of the advice for grad-school applicants, e.g. Michael Ernst's ([https://homes.cs.washington.edu/~mernst/advice/](https://homes.cs.washington.edu/~mernst/advice/)) and Jennifer Rexford's ([https://www.cs.princeton.edu/~jrex/advice.html](https://www.cs.princeton.edu/~jrex/advice.html)) and Justine Sherry's ([http://www.eecs.berkeley.edu/~justine/advice.pdf](http://www.eecs.berkeley.edu/~justine/advice.pdf))

\- Think real carefully about "Why do you want to go to grad school?" Do you want to use computational thinking to help people in a tangible way? Or do you want to learn about computer science for its own sake, as a quest for knowledge? Do you think you would enjoy a teaching-focused job, or an industrial research job, and these require a Ph.D.? All of these can be great answers, but they are different. What projects or independent activities have you done (things nobody told you to do) that you enjoyed or found satisfying? How can you aim to best continue that? (By contrast, "I did well in undergrad and would like to continue my education" is not a good reason to start a Ph.D. in computer science!)

\- Consider taking time off between undergrad and grad school, or at least deferring for a year after you are accepted. Depending on the subfield, the people that do this often have a real leg up, because they can bring a nontraditional perspective to the table. There's little benefit in being "smarter" than everybody else in the group if all that means is that you are saying something first that somebody else was going to say anyway 90 seconds later. It's better to be the one contributing ideas (about new problems worthy of attack OR ways to solve them) or a point of view that wasn't going to get contributed at all. And the people who have exposed themselves to more diverse environments often have had more time to understand themselves and what kind of environment they need to build around themselves (advising, style of work) to be happy and productive. Depending on your advisor's style and the culture of the department, grad school can be almost a totally unstructured and self- directed environment (quite different from undergrad) so you really don't want to go into it as a sort of default. (If you are saying to yourself, "but I don't _know_ what I would do during that year off," that is not a good reason to make grad school become your default! By contrast, if you are saying, "but I am in theory or another mathematically inclined subfield and literally the only way to get better at it is to keep doing it; there is nothing the outside world has to offer me," then maybe you are right -- theorists often do seem to adhere to this kind of thinking.)

\- Start thinking about how to demonstrate (by December of the year when you plan to apply) to your letter writers that you have the initiative/resourcefulness/creativity/grit and can see a project through to completion even over obstacles. (Ideally, by participating in a research project that submits a paper for publication.) The letters of recommendation do matter a lot, probably more than anything else in the application, and the letters will ideally be from people that the readers can trust are well- calibrated to speak to your promise at doing CS research.

<comment><USER2> One more small piece of advice: try to get on whatever mailing lists you need to to start attending the research talks at your college or university. (Some of this might be harder in the age of Zoom/economic collapse, but still...) This can vary based on what type of college you are attending, but if you are at a research university, there can be a lot of these: departments or research groups may have seminar series/colloquia, and then every doctoral student is going to have a public defense, and every job candidate who wants to be a professor is going to do a public "job talk," and at some places, every junior-faculty member who wants to get tenure has to do a "tenure talk," etc. These are almost always just open to anybody who wants to come.

So there may be a lot of opportunities for you to see a diverse range of talks (many of which will be intended for a general CS audience, at least for most of the talk) and get a sense of what people find exciting/interesting/achievable on various frontiers of CS research in different subfields. For the job talks at least, the candidate is sometimes giving the best talk they will ever give in their life, so it's possible to see something compelling in a subfield that you might not otherwise glimpse just by taking a course or something. And (this is more applicable to real- life talks) if you like you can usually go up to the speaker afterwards to ask them something privately and usually presenters are flattered to have somebody interested. Or if somebody in the audience asks a question that you find interesting, same thing. This might seem awkward and I know it might not seem this way, but it's hard to truly embarrass yourself by showing interest or enthusiasm -- you're in college! (As a student, I once found myself in a conversation with some random dude about the Gamow/Stern/Knuth elevator results after we both waited for the elevator for a long time after attending a talk at MIT, and when we were done I was like, "By the way, who are you?" and he looked a little surprised and was like, "Uh, I'm Butler Lampson.")

If you're not at a research university, that may decrease the number of random research talks you can show up to, but it also suggests the faculty will be much more eager to collaborate with undergraduates and involve you in a material way in their research projects.

</comment></comment><comment><USER3> I'm a CS professor at a primarily-undergraduate U.S. college. I supervise two to four independent research projects or honors theses every year and have published papers and posters based on undergraduate research with my students as co-authors.

If you're going to pursue undergrad research, I don't recommend choosing based on field, but based on potential supervisors. Who are your favorite professors? What subjects have you really enjoyed and would like to explore further? A good project is at the intersection of what you're interested in, what your faculty mentor can realistically supervise, and what you can complete and bring to a good result in 1-2 years. You're going to get the best experience if you're able to work with a faculty mentor you like that can teach you about the research process and devote time to mentoring you. Those skills, more so than any specific project you complete, are what will help you be successful in grad school.

There are probably examples of successful researchers who started in one area as undergrads and stayed with it for decades, but it's more common to switch as your interests change and you get more exposure to different subareas of CS, particularly once you get into a grad program and get more exposure to the open problems in different fields. Grad schools will not require you to stick with the area or theme of research that you may have been pursuing when they accepted you.

To give you a concrete example: my first undergrad research project was writing a simulator for acoustic reverb. I continued working with the same advisor, but we switched to projects related to imaging and remote sensing, which led to experimenting with weird neural network architectures (before the current boom in deep learning really took off) and their applications to multispectral imaging. When I started my Ph.D. program, I was originally working on nonlinear optimization and its applications to sensors, but ended up switching to performance modeling and queueing theory, which became the subject of my dissertation. My research has evolved even more since I became a faculty member and shifted to working with real undergrads; I've recently been doing a lot of qualitative research with community organizations about their uses of data and analytics, which is only tangentially related to traditional disciplinary CS research.

<comment><USER4> I am a PhD as well. Solid advice picking the right supervisor. That is one of the most critical factors to your success (be it publishing, having a career as an academic or getting into grad school in your situation). Don't ask me how to pick the right advisor because I think it is partly fortune, and partly the fit for you. Key thing is to find something you are excited about (and so is the advisor).

Btw .. three pieces of random advice:

\- Go to the best grad school possible. Below a certain threshold, it is pointless.

\- Learn to write well, and learn to read research papers in your field of interest.

\- Get good taste in your problem to solve. When I was starting out my post- PhD life, a very senior Director/VP-level scientist at IBM Research asked me if I had a good taste in picking problems. I gave a BS answer since this was during my job search/interview loop. But I have thought back to that question a lot as I hit mid-career. I suggest you watch the first keynote at MobiSys 2020 (free on youtube). I think you need to pick problems that are within your capability and then build on the skills you have picked up to work on the next better problem, and so on ... all perhaps in sight of a worthy problem at the very end or on the road. I wish I gave this deep thought early in my career .. maybe I'd be more satisfied in my career (but hey .. I still have time .. maybe I'll figure it out one day!).

</comment></comment><comment><USER5> I'd be a little careful with your one-line dismissals of fields. Each field has hundreds of people dedicating their entire lives into it. It'd be offensive to them that someone who hasn't even done any research to think they can judge an entire field like that. Imagine a high school student who took a community college course and saying "University juniors don't know anything. I discovered that they just copy from Wikipedia." The advice in this thread is a great starting point.

<comment><USER6> Actually that is his genuine opinion which reflects his interest. I also happen to point to you that I would also be more careful to judge community college courses. There are people doing great things over there too - dedicating their entire life.

</comment></comment><comment><USER7> I'm a lecturer (assistant professor) in computer science at University of Kent in the UK. I did my undergraduate degree and Masters at Charles University in Czechia and later a PhD in Cambridge. Most of my work has been on programming languages.

How did I choose? Mostly by accident and I definitely did not plan this much in advance. I enjoyed web programming during my undergrad. I got interested in how to make web programming easier (and if you could write both client-side and server-side code in the same language - in the pre-Node.js and pre- transpiler days :-)) and I stared working on a project to translate .NET code to JavaScript. Through a few random lucky accidents, I ended up working with F# and met Don Syme from Microsoft Research. This got me the idea that I could actually do PhD! Through working with Don, I got interested in functional programming and PL research more generally and then applied for PhD with some ideas about reactive programming.

I have no idea how to choose a field or plan a career (I only have one data point!) In my case, it was a mix of doing things I found interesting (without thinking about why this might be useful) and meeting a fantastic mentor at the right moment.

In any case, good luck, no matter what field you end up choosing!

</comment><comment><USER8> It's ok to change. It'll evolve as you get more experience and exposure. It's not that uncommon to change areas/advisors even a few years into a PhD.

I wanted to go into PL and compilers until I met the prof who later became my PhD advisor. He introduced me to HCI, which still let me dive into some PL topics too!

</comment><comment><USER9> The research field chooses you. Who do you have access to that influences your perspective on the world. I had professors in undergrad who focused on cryptography and security. I did several independent studies in cryptography. That led me to work at a company that worked in cryptography, and programming language design. the job I was put on at that company had me working on programming language design for machine learning. My friend started working in physical oceanography, and gained access to large amounts of acoustic ocean monitoring data. at the same time my dad started asking questions about how to measure light pollution from photographs, pushing me into image processing. I decided to go back to school for machine learning in order to sort out that data. I focused on identifying whale songs and measuring light pollution, pushing me into machine learning for signal processing. Now I work in machine learning research for identifying security vulnerabilities in compiled binaries. My side projects research now is in natural language processing and information retrieval on medical texts. This is because the graduate school I chose happened to be a medical University.

</comment><comment><USER10> Because I liked the people in my department doing research in my niche! Unfortunately federal funding in the US disappeared almost overnight for my slice of CS, so I'm currently operating and publishing in a cross-disciplinary fashion in an industry research scientist position. I'm considering leaving the US for a faculty position to get back to the research I really enjoy... so don't do what I did. :)

</comment><comment><USER11> I chose to focus on computational biology because I had an amazing professor that I wanted to work with. That being said, an amazing professor != amazing advisor... something I discovered when trying to finish my PhD and he decided to take a sabbatical to Kenya to do missionary work :(.

I got enough statistics and machine learning experience in graduate school to be doing machine learning research now as part of the defense industry. Even if machine learning seems like it might be too hot to touch, it will aid you in any number of jobs you could have in the future: automation, data science, etc. It really is perhaps the easiest sub field to cross disciplines. I've always been a PC gamer and the TD-Gammon paper really pushed me forward in my desire to do machine learning -- check it out, its a classic ([https://www.bkgm.com/articles/tesauro/tdl.html](https://www.bkgm.com/articles/tesauro/tdl.html)).

<comment><USER12> Oh wow TD Gammon was also partially responsible for inspiring me into a machine learning -> data science direction :) My dad brought me up playing backgammon so I had a fair understanding of all the heuristics involved - <AUTHOR> was amazing to see a computer could learn them fairly well by itself.

True about switching fields with ml, after a while in evolvable hardware I did a joint PhD in geography + computer science, and have been making socioeconomic simulations of various kinds for the last 10 years. Nowadays I'm trying to reacquaint myself with core cs research, as looking for a lectureship I realized I'm always going to be stronger teaching cs than geography.

</comment></comment><comment><USER13> Echoing what a lot of other posters are saying, I would strongly recommend considering advisor/group fit. Of course, research field also matters; it seems like you don't really like networking/security that much, so feel free to steer clear of those disciplines. However, let's say you meet an awesome AI prof, and their work is of moderate interest - that seems like a recipe for a good time, even if the field is saturated/there's an AI winter in our future.

Anecdotally, my first research position was the result of getting my last- choice internship for that summer. I thought I would hate it and was planning to quit after the summer. My advisor was incredible, and I ended up working in that lab for 3 years. That field (human-computer interaction) is now my primary discipline!

</comment><comment><USER14> Not CS but I went to a lot of seminars and then picked the topic and advisor based on that.

</comment><comment><USER15> >It continues to amaze me how some people know exactly what they want to do in their freshman year or even earlier.

It's pretty easy. People try things out and if they don't like it, they pick something else. When someone appears to know what they want it is because they did the experimentation phase before they chose their field. It looks like you have the "experimentation phase" still ahead of you and there is no shame in that.

</comment><comment><USER16> I do security R&D. I chose security in uni because it sounded sexy. Honestly, you sound like a pessimist. I don't work with networking often and only read papers I'm interested in.

Same for neural nets, I could rattle off 3 idea that no one is working on. I don't think the field is saturated.

Just look at what you enjoy doing and specialize in that. You don't need to mixmax the decision and try to predict the future.

</comment><comment><USER6> Don't be pessimistic you will always find your spot no matter what. Just follow your interest. Review again the papers and research your seniors do and see which one interests you most. Choose something that you like to do all day.

</comment><comment><USER17> Unified Communications security. I needed to work in a project for multi vendor interoperability. Security in Unified communications was a novel field back in 2010, now is taking off again.

</comment><comment><USER18> Pick what you can read and enjoy.</comment>


Start Small, Stay Small - <AUTHOR> http://www.hn-books.com/Books/Start-Small-Stay-Small.htm <comment><USER2> I coincidentally wrote a review of the book this morning :-) <http://news.ycombinator.com/item?id=2134634>

Have you also tried Market Samurai to find a niche? I haven't tried Micro Niche Finder, but Market Samurai addresses the same need: to select lucrative keywords with low competition. That, in turn, indicates a potential good niche to go with.

As you say, there is so much information in this book it's hard to digest. You definitely have to take notes and go back to it regularly, but I feel the book has tremendous value for its target market (software developers wanting to strike on their own). And by the way, writing a book review helps you synthesizing all this advice so it's good practice to really "get it".

<comment><USER3> >>Have you also tried Market Samurai to find a niche?

I tested both before recommending MNF. As you mention, both are well suited for this task, but Marketing Samurai is a bit harder to use IMO.

>>You definitely have to take notes and go back to it regularly, but I feel the book has tremendous value for its target market

Awesome, thanks for that.

</comment></comment><comment><USER4> I just finished reading the book and it's superb. With all the emphasis on raising venture capital and building rocket ship companies you need to realize they're not the norm.

People criticize life style companies but your chances of success are much better. But I think that you need to have tried to build a rocket ship and failed to truly appreciate the wisdom of thinking small. Not very sexy subject for publishers so that's why this book is a rare gem.

</comment><comment><USER5> The book homepage is also a good example of a conversion-driven design: <http://www.startupbook.net/>

I like how there are so many different ways (formats) to buy, it's easy to buy and it's clear what the book is about. Clearly he is following his own advice.

<comment><USER6> There is probably a lot more room for improvement. Anyone wanting the sample before buying may be quickly turned off. It's a 60MB zip file because the audio is bundled in. This easily deters anyone on their iPhone/iPad.

<comment><USER3> This is good feedback; thanks for bringing it up.

I've just added an interim step that allows people to download the PDF and audio files separately (and I've added the size of each file to the page).

</comment></comment></comment><comment><USER7> I definitely recommend Rob Walling & Mike Taber's Micropreneur Academy (www.micropreneur.com). If the book resonates with you, the Academy is a deep dive into the principles that the book outlines. Best investment I've made in the last year.

</comment><comment><USER8> Finished reading it last weekend. This is the most practical book on startups that I have read last (and this) year. Absolutely recommended.

</comment><comment><USER9> You should probably add a contact form / email address to <http://www.startupbook.net/>. I ordered the book ~15 mins ago and I haven't gotten a confirmation email yet.

<comment><USER3> Done - my email is now at the bottom of the page.

I do know that the download emails are working, but if anyone else has not received it go ahead and email using this link and I'll get you squared away.

</comment></comment><comment><USER10> I read this book after seeing all the recommendations in this thread. This book seems to have been targeted directly at me and it was brimming with useful advice that I didn't know I need to know.

I'm thinking about joining micropreneur.com but I'm still on the fence.

</comment><comment><USER11> I listened to the audio-book of Start Small, Stay Small and am a big fan of Rob's podcasts "Startups for the Rest of Us". They have great insight into launching niche SAAS products, but not so much for startups looking for VC funding.

</comment><comment><USER12> hn-books is becoming more and more useful, keep it up Daniel!

The books are more nuts-and-bolts and the quality of the reviews is improving with every iteration.</comment>


Files reveal WW2 secret 'Agent Fifi' test for spies - <AUTHOR> http://www.bbc.co.uk/news/uk-29231936 <comment><USER2> Surprising that they would pass _all_ their spies by a single individual. That's a serious operational risk, even if she managed to ferret out some bad apples.

<comment><USER3> Just curious, what risk are you referring to?

<comment><USER2> One person knowing the identities of all your spies? That's a huge violation of the compartimentalization principle.

[http://en.wikipedia.org/wiki/Compartmentalization_%28informa...](http://en.wikipedia.org/wiki/Compartmentalization_%28information_security%29)

Of course you could say there was a 'need to know' but at a minimum there should have been many 'Fifi's', and preferably ones that did not come from occupied territory.

<comment><USER4> Also there's the "never follow patterns" principle. Interrogate enough spies and you might figure out they have been checked by the same person.</comment></comment></comment></comment>


Russian scientists are using lab supercomputers to mine cryptocurrencies - <AUTHOR> https://coingape.com/russian-scientists-using-supercomputer-to-mine-cryptocurrency/ <comment><USER2> They were just the ones who got caught.

Truth be told, there is lots of mining going on privately 'at work' in lots of countries all over the world. Much more profitable when 'the boss' has to pay for your electricity.

<comment><AUTHOR> Yes, in case of small price cryptocurrencies people are using their office hardware to mine. It's hard to believe the kind of penetration level cryptocurrencies has gained.</comment></comment>


Backbone.js and Chrome Extensions - <AUTHOR> https://zapier.com/blog/2012/02/23/backbonejs-within-chrome-extension/

<comment><USER2> Instead of caching the model in LocalStorage, couldn't you also just store it in the extension's background page? You would simply store the data that you would otherwise put in LocalStorage within a variable on the background page. From the popup, you can access background page variables as members of the object returned by calling chrome.extension.getBackgroundPage().

The extension would still need to recompute it once every time it is starts up, but since it is computable I don't think it belongs in LocalStorage. (You wouldn't store something like this in the registry if you were writing a Windows program; you'd just keep it in memory.)

Also, the article could use a bit of improvement in terminology. When it talks about 'loading the extension', it really means displaying the popup. I think of loading the extension as in starting up the background page via the extensions window.

<comment><AUTHOR> Good point I'll see if I can clear up that terminology in the post.

You are also correct that you could use the background page as an alternative persistance layer instead of LocalStorage. LocalStorage is obviously more applicable in non-extension environments. Is there a big benefit to using background pages in a Chrome Extension over LocalStorage simply for storage?

One thought for future work: load the Backbone app into the background page when the browser starts. Whenever the popup loads, simply update the Viewport view's element with Viewport.setElement() to be the root popup body element. This might allow persistance between popup loads.

<comment><USER2> The benefit isn't that big.

From the standpoint of writing quality code, I think it is better to use the background page instead of LocalStorage in that it lets you avoid writing to disk (which requires space and has worse performance than using memory, although at this scale the difference is trivial) and doesn't pollute your LocalStorage namespace as much.

An advantage of the LocalStorage approach is your readers can write code in a way similar to how they would if you were not writing an extension and it makes the material more accessible in that it requires less understanding of how Chrome extensions work.

<comment><USER3> two points

-localStorage works on the background.html page

-when content scripts access localStorage, they do so at the domain level of the url

<comment><USER2> I don't understand the purpose of your points here.

* localStorage also works from the popup (using the same storage as the background; that's how the tutorial was able to work).

* We're trying to get data working in the popup here, so how localStorage works in the contentscripts is irrelevant for solving this problem.

</comment></comment></comment></comment></comment><comment><USER4> Nice post! For anyone interested in seeing another sample, I wrote a chrome extension that leverages backbone as well a few months back: <https://github.com/jeffreyiacono/penalty-blox>

<comment><AUTHOR> Very well done, it seems I was beat to the punch (updating the article now...).

I'm curious, did you do anything special to work around fresh API hits each time the popup is loaded (ie. LocalStorage)?

<comment><USER4> All data (account names and hash tags to remove) are stored client side in localstorage, so the extension doesn't query / load data from an external API like yours does. As a result, I haven't bumped into that "gotcha" yet. I do use a background page to bridge the popup's stored data with the content script that does all the heavy lifting (from what I remember). Just fyi on the localstorage adapter: leveraging the one from the Todo example on the backbone website. Thanks for giving me a shout out in your article, very kind of you.

<comment><AUTHOR> I have another comment on this thread with an idea for future work (<http://news.ycombinator.com/item?id=3631097>). I'd be curious to know if leveraging background pages for containing the Backbone instance would be a clean way to handle persistence (of the entire app, not just data).

Have you ever looked at something like this?

</comment></comment></comment></comment><comment><AUTHOR> Author here, happy to answer any questions about the approach or code!

<comment><USER5> I think Backbone JS might be useful for facilitating communication between the different components that Chrome uses (ie. contentscript <-> browser button). I can't see anything in the Gists you provided that highlight this. Did you do any work on this at all, where you could shed any light?

<comment><AUTHOR> I can explain a little more clearly on how Chrome generates the popup which is shown in the screenshot (you may know this already).

When you define a browser_action inside your manifest.json file:

       "browser_action": {
          "default_icon": "icon_16.png",
          "popup": "popup.html"
       },

Chrome automatically places an icon in the top bar, and when clicked, loads popup.html into a generated bubble.

Now, our foray into Chrome Extensions pretty much ends there. We load all our Backbone code via popup.html and let it do its thing. We did not look at any other of the mechanisms Chrome provides to extensions such as contentscripts.

With that said, I also see a lot of value in leveraging Backbone's Model and Bindings within contentscripts and it would be something worth exploring -- but it wasn't directly applicable to understanding how Backbone could work for us in overhauling our frontend.

<comment><USER6> I was just reading through the docs and am getting ready to write my first extension and think I'm going to try and get backbone running in the content script where I believe it's state will be persisted through open/close of the popup.

Thanks for your post!

<comment><AUTHOR> To be clear, a contentscript is a script which runs only on a specific website or domain (for example, if I specified my contentscript to run on zapier.com, it would get loaded every time I access that page).

Popups, on the other hand, get their scripts loaded into a brand new document when the icon is clicked and rendered into the popup bubble.

Backbone makes model/collection caching very easy so my preferred method would be to override Backbone.sync to store data inside LocalStorage.

There are a few blog posts out there with tricks on how to persist state between popup loads (unloading the popup DOM into the background page...). I think these strategies would break a Backbone app due to how view bindings work. I'd be curious to know any other ideas on how to persist the actual state (and not just model/collection data) between popup loads.

EDIT: To answer my own question a little bit, you could probably get fancy with [http://code.google.com/chrome/extensions/background_pages.ht...](http://code.google.com/chrome/extensions/background_pages.html) but I'd need to do more research on the relation between background pages and popups.

<comment><USER6> If you find a way to persist the popup please share, I spent the last 9 hours in all out battle. Basically chrome shit cans the window object on blur, the closest I came was pushing the popup body into the background page for resurrection later, but it's clunky around the edges as your dealing with a new window/document context so stuff like js context, scroll position, etc.

I've tabled it for now. I'm 99% sure the way to go is to put a popout link on the popup, setPopup to null and then bind the click listener for the popup icon to focus the popup. If the user closes the popped out popup reset setPopup and the process starts anew. I'll still be overring backbone sync and keeping all the data in the background.

</comment></comment></comment></comment></comment></comment><comment><USER7> Oh, I've got an idea: now that we're approaching a world where cross-browser shit works, let's take the tech that is designed to build on top of that and use it to build shit that doesn't work cross-browser.

<comment><USER3> maybe the world is big enough now for multiple internets

</comment></comment><comment><USER8> I believe <https://github.com/oo7ph/Trello-Clone> another chrome extension, uses backbone as well. But I haven't studied this one (yet).</comment>


US Senator questions ES&S CEO over remote access software on voting machines - <AUTHOR> https://arstechnica.com/information-technology/2018/03/do-your-voting-machines-connect-to-the-internet-us-senator-ask-ceo/ <comment><USER2> Between Elizabeth Warren and Ron Wyden, whether you agree with their politics or not, I just love how they fiercely advocate for citizens and have a nuanced view on a lot of consumer and privacy friendly issues. Easily my two favorite senators, even more than ones from my own state (MD).

<comment><USER3> Wyden is way too deep in with Google, anyone who shows up on this list is particularly suspect: [http://valleywag.gawker.com/these-letters-reveal-which- congr...](http://valleywag.gawker.com/these-letters-reveal-which-congressmen- google-has-in-it-1663875664)

Specifically, the above are Congressmen who wrote letters begging the EU not to go after Google for antitrust, all of whom have significant financial investment from the company. I would say anyone on this list isn't an "advocate for citizens".

Warren, on the other hand, has picked up a reasonable amount of money from them, but her corporate contributions are a bit more balanced, Google's further down on the list, and her words and actions speak for themselves: [http://time.com/4390274/elizabeth-warren-apple-google- amazon...](http://time.com/4390274/elizabeth-warren-apple-google-amazon- competition/)

Warren's quite a bit further liberal than I am, but given the chance, she'd probably get my vote over most other people on the political spectrum.

<comment><USER4> Congress has basically given themselves the permission for insider trading...

[https://represent.us/action/insider- trading/](https://represent.us/action/insider-trading/)

</comment></comment></comment><comment><USER5> Click-bait. Important issue, but there's no grilling going on here.

> US Senator Ron Wyden (D-Ore.) sent ES&S Chief Executive Tom Burt a letter

</comment><comment><USER6> TLDR: NYT Magazine found remote access software installed on the machines, installed by vendor. Vendor issues statement saying that they never would do such a thing.

<comment><USER7> Always trust the vendor. At least I had a CIO say that repeatedly. Same CIO was fired eventually for taking kickbacks. Sorry, I never trust the vendor.

</comment></comment><comment><USER8> This has been a vital issue now for almost two decades and clearly no one cares that voting machines can be hacked. If they did, we wouldn't be using them at all. This shit has been going on so long, I simply assume elections that are held with such machines are held with such machines intentionally so the results can be manipulated. There is no reasonable reason for a system to use such machines when tried and true methods exist except to manipulate the election. It's not like these machines were installed by mistake. They were deliberately installed with one and only one purpose in mind.

</comment><comment><USER9> I like how their statement leaves wide open the possibility that _after_ the sale of the machine, they install and use the remote software themselves. Say as part of a support package.

</comment><comment><USER10> I'm a bit confused...

"The article challenged the oft-repeated assurance that voting machines are generally secured against malicious tampering because they're not connected to the Internet."

Having remote access software pre-installed has nothing to do with being connected to the internet (aside from the fact that remote access software won't work without the internet).

These machines should not have ethernet plugged in and should have any wifi card completely disabled. It shouldn't matter if remote access software is installed.

</comment><comment><USER11> It seems like there's a gap in the logic here.

They're taking it as read that if a remote access / administration application is installed, the voting machine must have connectivity.

Well yes, if the application was to work it _would_ require remote access, but you can install all sorts of software on a machine without it having connectivity.

<comment> murph-almighty >you can install all sorts of software on a machine without it having connectivity

Yeah but airgapped machines are a hell of a lot harder to tamper with. Someone is more likely notice if a malicious actor plugged a flashdrive into a machine than if someone ssh'd into the machine.

</comment></comment><comment><USER12> Are you kidding me? PC Anywhere on our voting machines??

I can't take much more. We're truly becoming an Idiocracy.</comment>