Thousands of Veterans Want to Learn to Code But Can't - <AUTHOR> https://backchannel.com/thousands-of-veterans-want-to-learn-to-code-but-cant-7ed60c167a61 <comment><USER2> Whether you believe code schools are good or bad (I lean somewhat towards good), I wonder if we have not fully learned the lesson from the rash several years ago of fly-by-night for-profit colleges preying on vets and providing substandard education and inflated job promises, all on the GI Bill's dime. I worry that if the GI Bill was extended to code schools, we'd see the exact same thing happen again.

<comment><USER3> > I worry that if the GI Bill was extended to code schools, we'd see the exact > same thing happen again.

This is dead on. I am a veteran currently going back to school for an engineering degree on the GI bill. When I got out of the service I didn't even consider going back to school, and just taught myself how to code and started working as a web developer. Once I made it to the point of working with other software engineers with formal educations in a large firm though, I realized the depths of my ignorance. I hit a wall that no amount of javascript bootcamps or rails tutorials could ever get me past. The fundamental knowledge of math and science that separates engineers from 'coders'.

I think the VA is absolutely doing the right thing here by not allowing code schools to take advantage of GI bill money. The industry does not need more coders, it needs more engineers. If these schools were legitimate they would be working in connection with established universities to provide accelerated ABET accredited degrees. You'll notice that the article posted mentioned nothing of the actual long term success rates of these programs, either.

<comment><USER4> Many people think that most developers don't actually need CS (and much less math) fundamentals in their every-day work life. That's why coding interviews like big tech companies tend to do are controversial ("Why would an iOS developer need to able to balance a binary tree?").

Can you give some examples where you hid road blocks because of your lack of education?

<comment><USER3> >Can you give some examples where you hid road blocks because of your lack of education?

At a certain point I was working on an iOS app attempting to do some really advanced animations with Core Animation/Core Graphics and my total lack of geometry and basic algebra knowledge started to show. One of my colleagues started talking about the movement of an animation in terms of radians and pi and I felt completely lost. He was speaking a totally different language to me. Up to that point I had felt somehow "proud" of being a self taught developer with no formal schooling. But when that happened I just felt completely embarrassed at my lack of fundamental knowledge and context. Now I'm struggling through undergrad mathematics classes and hoping to get to that point some day. The greatest overall takeaway I had from that experience is that math and science open a completely different world to you that most people don't even know exists. It changed my life.

<comment><USER5> A lot of the hardcore game developers (which use way more math and advanced CS concepts that most other devs) didn't go to college. This stuff is totally learnable on your own. I recommend for example "Essential mathematics for games" by Bishop and Van Verth.

<comment><USER6> Thanks for the recommendation. As someone pursuing gamedev who also knows their math background is lacking, I'm always looking for tailored stuff like this.

</comment></comment></comment></comment></comment></comment><comment><USER7> I would love for more people to code and I would love for veterans for find work but ....

My impression is those who excel at coding (like everything else) love doing it. So, I would expect the majority to fail. It's doesn't seem like a skill like riding a bike where you learn it once and then it's just this thing you can pull out whenever (or maybe it just takes longer to get to that point).

My point is, whenever I see programs like this it appears the majority of the students are just going through the lessons. The moment the class is over they're back to whatever their real love is. They're basically learning by rote and it's a superficial learning not because they aren't smart but rather because they're disinterested. They're just doing it hoping to get a job, not to scratch an itch / pursue a hobby.

As such it feels like they're unlikely to ever become the kinds of people that actually get the jobs they're taking the classes to get.

Is there a way to solve that? Is there a technique to evoke a passion for coding in the majority of students or is it more up to the student to bring / discover their own passion? I know a bad teacher can ruin passion and interest. The majority of math and computer teachers seem to not really know what they're teaching and just teaching from a book. I don't know that a great teacher can spark passion an interest though. Maybe they can it a larger percentage of their students but that percentage will being small?

<comment><USER8> I've often felt this way in the past, but with experience I have to disagree.

There is a large range of skill needed for various jobs. I've met plenty of people writing software for a living that don't care about software. It's just a job to them. You don't need a PhD to hide in a corner writing test automation for mega corp.

<comment><USER9> I have to agree here. We must be able to find room for all the people coding to have a job. I love writing code, live and breathe software, but I can't demand that everyone must have this passion. However, a team consisting only of job coders tend to stagnate. We must find the room for both.

</comment></comment></comment><comment><USER10> Self-taught veteran coder here. I'm not great, but I've built a few things in Python (with a LOT of input from more experienced developers).

I never really thought about coding until I came to a developer with an idea and he said "Great now go build it."

It was very intimidating, but I was lucky because I had a boss who gave me the freedom to devote time to learning and many false-starts. It took about 6 months before I had something slammed together that worked.

I learned that coding (while hard) is not impossible to learn. More importantly I believe that it re-wired my brain for problem solving. I think more logically than I did before, and that has helped me to learn other skillset and further grow my career. I now have an MBA and work in finance.

So I'm sorry but I don't believe that coding is something that you have to be a natural rockstar to do. There are so many small and solvable problems out there and so few coders. These are still wildcatter days.

I do tend to agree about programming classes being rote, but isn't that true of any kind of education?

Perhaps what is more important is having an employer flexible enough to let their employees learn new skills while working.

</comment><comment><USER11> As a veteran and a developer, I think this is a good thing. This title is just clickbait nonsense.

The amount of "schools" preying on young veterans for their juicy GI Bills and student loans was sickening. It was basically theft and left a lot of veterans in debt.

I saw many soldiers coerced into starting courses just before being deployed. It must have been nice for those schools to have a lot of enrolled students paying absorbent amounts of money who were not even capable of participating in the course.

Most coding bootcamps are already predators, keep them the hell away from the GI Bill.

</comment><comment><USER12> There are already more coders than are needed. What there aren't enough of are leaders who are smart enough to recognize this.

I cringe at the thought that software engineering could become a "blue collar" profession.

Systems have become needlessly over-complicated and this is driving an increase in demand for coders.

As companies hire more coders; their systems get more features but they also grow in complexity (particularly if they hire junior coders). Non-technical managers are often not knowledgeable enough about programming/architecture to see that their systems are more complicated than they need to be and never bother to rein-in the complexity.

So basically as the complexity increases and becomes harder to manage, companies hire more coders but those coders are a double-edged sword because whilst helping to manage existing complexity, they also add new complexity on the side.

Unlike with most other professions, in software development/engineering, there is no limit as to how many people you can throw at a problem; that's because there is no limit to system complexity and richness of features but the law of diminishing returns still applies.

<comment><USER13> So you're taking a dubious theory (tech-debt => hire juniors => more tech- debt, repeat), applying it industry-wide and then using it as an argument against JUST VETERANS from pursuing a career-change into software?

<comment><USER12> I have no problems with veterans wanting to become coders. What I don't want more of are people who go into this profession only for the sake of making more money - These people are only driving up software complexity and not actually adding value to their companies.

Software engineering is one of the few professions that let you get more money by delivering a lower quality product (assuming that your manager is sufficiently non-technical).

</comment></comment></comment><comment><USER14> If you live in Phoenix, AZ I will personally 1-on-1 mentor you if you want to learn how to code.

Come to heatsync labs every wednesday from 9:00am-3:00pm.

(But you have to actually show up AND you have to agree to the curriculum. Email in profile.)

<comment><USER15> If you live in Vermont and want one-on-one help you can contact me via twitter: @high_rigour and I'll personally help you out. We have a strong group of engineers here who would like to help veterans free of charge.

</comment></comment><comment><USER16> All the resources to learn coding are freely available. Anyone who tells you otherwise is trying to make a buck.

<comment><USER17> I disagree.

\- It takes time to make high-quality resources. Teaching is a real job.

\- Asking for money can decrease churn (see: Sunk Cost Fallacy)

\- Programs that include synchronous mentoring cost money, but might be more effective

<comment><USER18> Those are good points. I would personally narrow it down to the personality type of the individual. I personally do much better self-learning than in a class room. I taught myself how to program after dropping out of business school and it was the best choice I've ever made.

I have a feeling this dichotomy (between self-learning vs classrooms) will be especially true for coding far more often than most subjects. Also anecdotally I found a part-time university course in english/writing to be the opposite of my experience vs learning coding.

That would really be the difference in whether or not I recommended someone down a particular path. But I also believe this is what makes someone a good developer - even outside of the learning experience. Basically your interest and motivation in the subject outside of formal settings. Which drives talented devs towards OSS projects and learning new languages.

Although not everyone has to be above average at their jobs to be functional. There are plenty of BigCo programming jobs where you could be generally disinterested in off hours and still be of value to the organization (see: I've met a number of Java/C++ devs who would fit this category who work in big teams and are happy/functional). Those people would probably be better suited for coding schools. And would probably be a large percentage of those leaving the military for retraining, so I support the OPs mission.

</comment></comment></comment><comment><USER19> One thing I was surprised about was the price. Can you _really_ get $10K per student in a boot camp/coding school? Googling I found [0]. It's looking like about $1K per _week_. What kind of student to teacher ratio do they have? I assume they also take referral fees with their placement programs?

It occurs to me that I'm in entirely the wrong industry. I'll be honest, I work with a few people out of boot camps, and I really like them. Having junior people on your team that are driven and excited about learning is so beneficial to the overall team dynamic. However, the knowledge deficit is pretty large and it's pretty easy to fall into the trap of "this is good enough" (when it isn't) due to a lack of perception of the scope of the field.

Like I said, the people on my team who come from boot camps are really excellent and I would hire them again in a heartbeat. I just have a hard time believing these aren't the cream of the crop. I would feel bad taking $1K a week from general students knowing that they are unlikely to succeed.

[0] [https://www.coursereport.com/blog/coding-bootcamp-cost- compa...](https://www.coursereport.com/blog/coding-bootcamp-cost-comparison- full-stack-immersives)

<comment><USER20> Code coming out of the universities isn't that great either. That's why you need summer internships / coop education. People need to learn how to take PR criticism the right way - and to learn.

I wonder how much improvement you'd see if you handed out "Clean Code" by Martin to junior developers.

</comment></comment><comment><USER21> I would recommend a good internship over any other way of learning, and I would vote for extending the GI bill to help pay for them.

Code school won't turn you into much of a coder, nor will an Ivy League university. They will establish some sort of foundation, but I think the benefit-per-month and -per-dollar is not the best. And this is coming from someone who loved school, mades As and Bs, and graduated from a university.

Books and online resources are not the whole answer either, not for a beginner. You need a jump start. Maybe school would get you jump started, but an internship would be even better. And this is coming from someone who read thick books cover to cover on JavaScript, Apache, and SQL. I seem to do well with books, not needing a class --- but I wonder if I could have done it without some solid real-life problems to sink my teeth into. I didn't get an internship. I got even better: a job where I could learn on the job --- basically a paid internship.

Humans learn best through apprenticeship, on-the-job demonstration, using more than one of their five senses, question-and-answer. It was true in the Middle Ages, and it's true now. We haven't changed.

Never underestimate the bandwidth of a human face-to-face interaction.

</comment><comment><USER22> I guess another question I have is what is a coder camp doing that it costs more ([http://www.bootcamps.in/san-francisco/coder- camps/](http://www.bootcamps.in/san-francisco/coder-camps/)) $9,900 for a 9 week (just over 2 months) course, when in state tuition for a year at University of Washington ([https://admit.washington.edu/costs-and-financial- aid/total-c...](https://admit.washington.edu/costs-and-financial-aid/total- cost-of-attendance#freshmen-transfer)) is $10k for around 7 months and out of state is $34,791 for the same time. Eg are they really equivalent to a #12 ranked computer science school ([https://www.usnews.com/best- colleges/university-of-washingto...](https://www.usnews.com/best- colleges/university-of-washington-3798/overall-rankings))?

<comment><USER23> No one at the university is going to get a job after one year. Something like App Academy has access to companies and provides you with access to recruiters.

Secondly it's the rapidity that's an advantage. The fact that they're nine weeks is an advantage. You have to value your time.

</comment></comment><comment><USER24> I have a couple thoughts on this subject as it directly applies to me. In many ways the G.I Bill is a coupon thats worth up to $22,000/year + (monthly cost of rent for every month in school). Many vets end up using the GI Bill just for the monthly rent check (for SF its like 4k/mo).

I am a strong believer in freedom of choice and personal responsibility. If I earned that GI Bill i should be able to spend it where I see fit. If you want to spend all of it in University of Phoenix or ITT tech or Harvard go ahead. But to baby people and protect them and removing their own personal responsibility I think is morally wrong and does more harm to the Vet in the long run.

Maybe blowing their GI Bill in X school/program wasn't the best choice but hopefully they gain some valuable experience out of it and come out the better for it.

<comment><USER25> From a civilian perspective, hypothetically speaking, why should we continue to fund the GI Bill if it's just going to be wasted? In a world where too many of the veterans get fleeced and get nothing for the money it would be rational for the rest of us to cut that benefit, perhaps replacing it with nothing or with a difference benefit like a larger pension. Personal responsibility is important but it doesn't exist in a vacuum. As a taxpayer I want societal good to come from my tax dollars, so I feel a responsibility to prevent the veterans from being taken by scammers and do discourage scamming in general.

<comment><USER26> Vet here, currently in my junior year of a CS major. I personally view the GI Bill as similar to a lot of other affirmative action programs - the people who are best-equipped to take advantage of the programs are the least needy.

I did a term in the Marines as a radio tech for air traffic control. I did all of it in Yuma, AZ. No deployments, not even a float on a ship. I got out with a job offer in hand to work at Intel as a microscope tech. Intel offers to pay for tuition, but I get $22k in BAH and a book stipend per year on top of free tuition with the GI Bill, so it's a better deal for me to make Uncle Sam pay for it. My SO is a nurse, so she makes good money as well.

I'm fulfilling my end of the bargain, I guess; I've kept pretty close to a 4.0 GPA while working full-time. But when John Q. Taxpayer thinks of a veteran going to college on the GI Bill, he probably doesn't think of a POG[1] radio tech whose parents are both affluent college grads. He thinks of some grunt who lived in the dirt and got shot at in Afghanistan and is probably the first person in his family to go to college.

The latter tend not to use their benefits at all, use them as another form of welfare like the parent poster mentioned, (take some fluffy bullshit classes and pocket the BAH) or get scammed by some shitty for-profit institution.

Result: Those who use the benefits tend to be those who were _already going to go to college_ and do well anyway. Of course, if you threaten to canc the benefits, you're going to get a bunch of very angry veterans and affiliated people who will yell at you for ripping away that poor grunt's chance to be the first kid in his family to go to college. Never mind the fact that the poor grunt got suckered by fucking DeVry or just didn't go at all.

[1] Personnel Other than Grunt.

</comment></comment></comment><comment><USER27> It's obvious that most of you didn't serve to the army of your country. If you did then you would know their level of IQ, perception, education (science in general, maths etc). These people have their brains washed in an irreversible level. Even their educational levels are very low. In the army school (or whatever it's called) they learn to make war not engineering. And their perception? Ohh.. It's simply distorted. They cannot translate a single command they have given with success. But this is army, people on top only occasionally deal with real problems and they never look back to check from the moment they give the command to their inferior. Most of the time they deal with the Shave or the clean boots or the parade!

But hey! They are perfect doing other things! They are good supervisors and devoted to single tasks outside of the office. And I think that this is the key to their inner world and the most significant reason for their failure: Single Tasks + Reality Distortion

<comment><USER28> Veteran here. Most of us are a humble bunch, but I've met some incredibly gifted individuals while serving... and I served in the US Army Infantry. I would encourage you to rethink your uninformed opinions of us.

<comment><USER27> In my country we serve to the army for 1 year totaly free. Yes, without a payment. I was asking my father to give me 50 bucks to buy a box of cigarettes and drink a beer in the bar. How I felt? Garbage... But here is the worst part. We had a commander A and All day we were serving ourselves. We were taking care of the gardens, making parade, straw broom stuff for hours and many other stupid things with very little education. Every day (and night ofcourse) we had service in the watchtower and every second day we were free and we could go out to town. But some day another commander came. The first day he said to us (he was just arrived in the camp and we were there for months) that the services were many and probably we would not have many "free" days. suddenly we started to have free of service days every 15 days! The law which they were abusing was saying that for the needs of the battalion we could make as many services in a row as it was needed. 15-20 days in a row for 1 day out. And this is a very small example of what army means. What was the diff from Commander A to B? You can spend many many hours thinking but noone can give me back that 1 lost year with all those people. I know them very well. First I thought that only my country's people were like that. But then I realized that everywhere is the same. "Incredibly gifted individuals" are always living in their world. I was lucky to meet some of them. They didn't even know what an FFT is and we were serving in the electronic intelligence.

</comment></comment></comment><comment><USER29> USAA, a financial institution made by the military community for the military community, has a program called Vetfit = veterans for IT. It puts them through an intensive 14 week bootcamp.

Perhaps there's not enough knowledge about this program but 1/4 of USAA employees (~31,000) are vets.

</comment><comment><USER30> I run a code bootcamp, and I honestly think it's a very good thing that the GI bill doesn't apply to code schools. At least, not until we're controlling for outcomes somehow.

Here's why:

As soon as GI bills (or any federal funding) enter the education space the product and outcomes no longer matter to the most ambitious (/greedy) companies; all you have to do is capture those dollars before someone else. The product doesn't actually matter in a financial sense because you have person A spending person B's money.

I think there's a solution, and the person this article was written about needs to be given a chance, but there needs to be some serious curation. Some online code bootcamps have graduation rates (that's _graduation_ , not even hiring rates) of ~30%. And that's of people who paid $8,000 of their own money. Think what they would be if they were just soaking up GI bill money. Candidly the space is full of garbage schools that don't teach very much already.

Look at for-profit education lead gen for accredited universities and you'll see how quickly the race to the bottom happens. ITT Tech is the most recent example, but there's something messed up about the fact that you can sell a hot swap of a potential student on the phone for $500+. It's just an influx of money that needs to be captured from not-too-discerning spenders, and with _no connection to outcome_. That's bad for all involved.

Want to hear something else messed up? One of the most lucrative ways to drive those education leads is from "jobs." Post a fake job, turn someone down, then, "Oh it looks like you don't qualify for job x (that may or may not have existed), but you can attend y for free because there are grants/loans available so do that instead." Farm out those leads to a overseas call center that's paid based on how fast they can get people the biggest loans, and profit. It's a federally funded scam and a wasteland of money the poor and uneducated (or taxpayer) are on the hook for, while the companies best at marketing make a killing. I can't even type because I get so mad thinking about it.

So I think GI bills should apply to code schools, but if and only if they meet outcomes x y z. And we're not there yet.

As an aside, if there's a vet (or anyone that can't afford it) that wants to learn to code please reach out to me. We're going to be launching a six month online computer science degree soon that's free up front and a percentage of income only after you get a high-paying job. If you don't get there we fail and we get nothing. It's a lot of "credit" risk for us, and you'll have to pay a percentage back, but it's the best we can do, and it's only fair to align incentives. Email in bio.

</comment><comment><USER31> Learn to code requires time. From my experience, after basic education (e.g. before starting High School), with 6 hours per week, during 6 months (144 hours), with a teacher and a easy language (e.g. BASIC or Python) you can accomplish students to have a sound base, so more advanced programming can be put on top of that afterwards. The point of few hours per week is because of the brain requiring time for assimilating knowledge. I.e. unless you have some basis, e.g. knowing a previous computer language, or some similar experience, pushing full-time for learning programming would burn the student.

In addition to the "learn to code", there is the case of "knowing to code, but learning new stuff", which can be frustrating, too, if not focused properly. E.g. computer languages work pretty much the same for number computations, algorithms on data (lists, graphs, trees, etc.), so if you know the language X, you'll be able to move quickly to language Y. The problem is when "moving from X to Y" involves more than algorithmics: e.g. if Y involves computer graphics, and you had no previous computer graphics experience, the handicap would be learning computer graphics, not the language Y. Another example, if you're an experienced C/C++ programmer you can take easily on Node.js server stuff, but not on web-client programming, not because of Javascript, but because of requiring learning many additional elements (DOM, CSS, etc.).

</comment><comment><USER32> People who go to coding boot camps often get coding jobs. Many coding schools deliver what they promise their students, which is a job in return for their fee and the student's hard work.

It's silly that VA benefits can be used for intensive short courses in for- profit plumbing and truck-driving schools but not coding schools.

This is a screwup that needs to be fixed. The VA has screwups in it. SNAFU (situation normal, all f---d up) is a military acronym. They fix SNAFUs when they get pressure from Congress.

Of course there's a history of sleazeball entrepreneurs figuring out how to get paid with VA benefits in return for bad education. That's no good. It was already happening at the dawn of the computer age, and it's happening now. It needs to be dealt with, ongoing.

There's also a history of people being trained for work without the aptitude to do it well. That's also a waste. It happens in plumbing and truck driving too.

Making it hard for veterans to use their benefits to learn to code is not the way to deal with these problems.

Plus our industry can use lots more skilful hard working people.

You could write to your congresspeople and bring this article to their attention. I did.

</comment><comment><USER33> Is there any data out there on how successful code schools are in terms of job placement and more importantly longer term success in hands-on coding (non- managerial)?

I've always had a perception (perhaps wrongly) that people who code are somewhat natural at it and don't need to be taught. Honestly I've never met anyone that was any good that was taught to code in school or by a book.

</comment><comment><USER34> What we really need are trade schools supported by the community and the state like community colleges. For-profit education like for-profit healthcare is kinda uncivilized and backwards. I think all bootcamps are for-profit so this opens up plenty of room for someone to actually do the right thing and set up a non-profit bootcamp.

</comment><comment><USER35> This is nuts. Only a small percentage of people can learn to effectively generate code. Thinking that veterans can be turned into developers is absurd - they'll get code-monkeys instead, with a few exceptions.

I don't believe that, at this time in the USA or in the future, education will save people in software development from unemployment. The only thing that will do that is having some smarts. And if you're smart, you already know what to do (for you). One of those things to do is head _away_ from software development if you're a noobie. At this time there are more developers worldwide than ever before, work continues to be offshored and developer wages are declining in the USA. You'd almost have to be insane to try to get a job writing code.

<comment><USER36> I haven't seen a Nuke fail to learn to program enough to get stuff done, and the two that stuck with it were annoyed when they realized they were going faster by staying off the internet. (Though this is learning for a hobby).

They're going to also do better in a tech interview than most programmers. Mostly because they've survived a program where they have a half dozen or so knowledge interviews a year (that to me were more stressful than my actual job interviews).

Though most rates don't remotely compare to nukes, and nukes have more sure ways of getting SV like pay than tossing in with IT developers.

<comment><USER35> But US Navy nuclear power school grads ("Nukes") are not typical veterans. I should know, I've been lucky enough to have had several as bosses and co- workers. They were first-rate and far too valuable to use as software developers. Their knowledge of naval matters was much more important.

</comment></comment></comment><comment><USER37> Qualifying for GI Bill funding is a long long process, and very challenging for newer organizations. I'm involved with Code Platoon, a non-profit coding school for veterans based in Chicago, that is about to graduate its second class ("platoon"). It's a robust program, at 20 weeks, plus optional internship placement at the end to keep learning - so I think pretty ideal. Companies sponsor 80% of the tuition cost, so the students pay only $2500 out of pocket. Finding sponsor companies is inherently a limiting factor on the program though - GI Bill funding would allow more veterans to participate.

</comment><comment><USER38> I don't see the need for Code Schools. Folks can learn almost anything using the resources of the internet.

Provide the vets with books on coding for a specialized curriculum for fee and give them some specialized job prep. Many places would love to hire Vets.

<comment><USER39> Quite frankly, if a person has any sort of formal education in their background such as college or even taking coding classes in high school, they are then entirely unqualified to offer such an opinion. It may be easy to learn new languages online due to having learned the foundations, but unless you can say you learned all the foundations online, this type of comment isnt helpful. As many others have mentioned learning is a science and it takes a lot of work to structure learning in a digestible manner.

<comment><USER38> I'm speaking from this perspective, I dropped out of school and barely made it to my CS classes. I learned on the job through internships and resources online.

You can test the vets on the knowledge and grant them special certifications that can single out the ones who ha ve tested out of the curriculum.

</comment></comment></comment><comment><USER40> We can help (free of charge) few veterans to code. Our startup provides low code platform to build custom business applications from custom workflow requirements. It is like building custom software from Lego components and it will be easier to learn by using Lego components as opposed to building Lego components. The end result of effort of coding will be custom business application which can help veterans land job. Please contact us by using email found in my profile. Thanks, Neal

</comment><comment><USER41> Few code schools accept GI Bill because it requires them to have been in business for 2 years prior to applying to accept it. There's little stopping schools from getting approved, but the problem is most haven't enough track record or get denied when the VA investigates them.

</comment><comment><USER42> There are free video lectures available online for every topic in Computer Science-

[https://github.com/Developer-Y/cs-video- courses](https://github.com/Developer-Y/cs-video-courses)

Hope it helps anyone who wants to learn Computer Science.

</comment><comment><USER43> > the military didn't recognize code schools as legitimate enterprises

So they feel the same as a lot of us

</comment><comment><USER44> Nobody who is not mentally disabled and owns a PC with an internet connection "wants to learn to code but can't". What about showing initiative and teach yourself with one of the infinite resources available on the internet?

</comment><comment><USER45> Learning to code is all nice and fine.

Getting someone to hire to you to code may be a different story.

</comment><comment><USER46> Anyone with a computer, or heck, a tablet, can learn to code.

</comment><comment><USER47> "Coding schools" are a sham, and I'm glad they're not covered by the GI Bill.

There's nothing stopping these veterans from going to a regular university, college, or community college and getting a real degree in computer science, software engineering, or a related field.

<comment><USER48> > _There 's nothing stopping these veterans from going to a regular > university, college, or community college and getting a real degree in > computer science, software engineering, or a related field._

Nothing? Have a little empathy, buddy. While I have some sympathy for your opinion of coding bootcamps, just bear in mind that it's not easy giving up something you've been doing for a couple of decades and going back to college with people half you age and then having to restart your career in an entirely new profession. The mental flexibility one has when one is young just isn't there anymore for these individuals.

<comment><USER49> Citation needed. Where is your proof that mental flexibility is inversely correlated with age?

<comment><USER50> [http://www.sciencedirect.com/science/article/pii/S0278262606...](http://www.sciencedirect.com/science/article/pii/S0278262606000431)

Let me know if you can't access the full article/the abstract is not enough.

</comment></comment></comment></comment><comment><USER51> Why don't community colleges move into this area?

<comment><USER52> a lot of community colleges already have courses like this. here is an example: [http://www.bmcc.cuny.edu/cis/](http://www.bmcc.cuny.edu/cis/)

it's essentially an accelerated vocational training program designed to feed in to either entry-level IT jobs, or upgrading to a proper Computer Science degree track. this is common in community colleges, afaik. there are multiple schools in New York City that do this anyway.

I guess the major difference is length of the program. community colleges aim for 2 year programs. coding boot camps aim for 12 week programs.

</comment></comment><comment><USER53> Allowing for-profit coding bootcamp to teach veterans coding is a very bad idea. Some business types will inevitably try to use it as a get rich quick scheme and waste the resources/time of everyone.

Here are some thoughts that I'd like to share I went through the path of starting out as a college grad with a degree in Humanities and got into IT/support/light-coding.

 _Dump the misconceptions:_ I'm sure soldiers smile when they encounter civilians who are completely clueless about military and everything else that goes with it. Same with the startups and coding career. Everything you read/see on media/TV about startups is pretty much garbage. They may get the personality, haircut, fashion, and the ambiance right (Silicon Valley), but that's not what being a coder is about.

 _Are you cut out for it?:_ Some are just not cut out to be a coder/programmer. This is not meant as a disrespect. Not everyone is cut out to be a soldier. I tried really hard to convince an ex Air Force officer (not army, but a desk jockey from AF) to try out a career in IT (not even coding but server/systems management) as he was leaving the service, but he had been forced to do some of it while in service and had bad experience. So he was dead set against it. But one of my ex managers was an enlisted man in Navy/Airforce (not sure, but not army) when I worked as a server/desktop technician and he was good as a server/linux admin.

You need to find out if you have the aptitude, patience and passion for IT/code career. Especially with coding because you will have to constantly learn new tools/languages/etc to keep up, all on your own time (nights, weekends). If you have problem with it, you'd be better off not starting it. This is especially true if you don't have a CS degree. With a CS degree, an employer may hire you even if you don't know the programming language used in their product, because they think you can learn quickly enough. With no CS degree, you have to have concrete examples to show that you can learn and do the job, which means even longer personal time spent for self training sessions.

I am in the process of switching from Desktop Support into coding, and I know I am spending easily 10 - 20 hrs a week (thanks to RescueTime) on my personal computer watching/reading online courses and typing out the tutorials. I have a full time job and wife/kids. And I spend 2-3 hrs every weekday and/or entire Saturday on my computer each week, learning/practicing coding and everything else (git, HTML/CSS, some bash, some database) related that I realize I need to know. And I am not really advancing fast enough, for lack of time, and I've been in IT for years.

 _Who usually goes to coding bootcamp?:_ Coding bootcamp is really for someone who already has enough knowledge in coding. Someone who went through a coding school commented on HN that it seemed most already had spent time/energy on their own to learn quite a bit, and joined the bootcamp to get that final push/proof that they can show to potential employer.

Consider a coding bootcamp something like a training school a newly minted SF operator attends after he already proved himself in the initial Army bootcamp and years of service as a regular soldier. If you have not already spent substantial time (and actually learning) with computer, a coding bootcamp will mostly likely be a waste of time/money.

 _But you should still consider it seriously:_ But here's the thing. Starting the training to be a coder/server-admin these days costs almost nothing, unlike the training required to be a jet fighter pilot or a doctor or a lawyer. To be a pilot/doctor/lawyer, you HAVE to get into a training program and find someone to pay (or pay yourself) for the instructors/equipment.

But starting a career in IT nothing is like it. All you need is a computer, internet, and time. Half of the coders surveyed on HN (or Stackoverflow?) stated they were self-taught programmers. Of course many others may have started out but gave up. It would be dishonest to not bring that up.

So how do you get that initial start and experience to start the journey to be a coder/IT worker?

 _So what to do?:_ Research. There are many different types of coding, like HTML/CSS. Or coding backend. Or create an iOS app. I think Mr. In the article, Mr. Molina trying his hand first on iOS app was ill advised. He should've first learned about HTML/CSS or bash scripting, not to be an expert but at least know how's it's done. Read a little about different jobs, like tutorials for a few days to get a sense of direction.

Spend time on job postings like indeed.com and see what skills/tools are in demand. Spend time on HN and read, to soak up the culture/ambiance, not too much though. Not to be a pretender, but to start thinking like a coder.

Find time, lots of big chunks of time. Coding/hacking/building-a-computer all require hours of continuous tinkering, changing, testing. Not like 1 hr here and there but like half a day, or all of your evening. I find myself most productive when I can spend bigger chunks of time working on the same thing.

Watch how you spend your time. Use tools like RescueTime or other tools to keep track of how much time you spend. You will be surprised how quickly time passes when you start watching an episode of something on Netflix. Just stop it, until you get a jog as a coder.

Find office like environment. This is necessary especially if you are just starting out. Trying to do it alone at home will inevitably lead to netflix/xbox/etc. I've made that very mistake. And I recommend against Starbucks. You want to maximize productivity, and starbucks is not the place.

If you can spare $200 - $500 a month, try out co-working spaces like WeWork or NextSpace. It will make you sit down and stare at the laptop screen at minimum. I used the service in between jobs to learn some very basic html/css and it helped. I didn't get a job as HTML/CSS coder but it definitely beat trying to do it at home. Try cheapest plan which usually allows you to use any open desk. If you can only spend evening/weekend, try reserved desk/room. More expensive but you can leave external monitor to go with your laptop, boosting your productivity.

Go to meetups. I personally don't because I'm an introvert, but attending a few doesn't hurt imho.

Write out things you want to learn. Doesn't matter whether you stick with it or not. Adjust it if necessary. But write it out so that you know what you are doing now.

Use Google Doc to take notes as you try out commands, tutorials. Spending time writing out what you learned really reinforces. Especially useful in the beginning.

The path to learning anything in IT/coding will be really circuitous. Let's say you want to put up a HTML/CSS website on a VPS server like at DigitalOcean. But before you even touch the server, you may have to learn about vim, ssh, rsync, ftp, Domain registration, yum install, etc. It may be days/weeks before you actually get to do what you initially set out to do. But that's the fun of being in this field.

Try setting up a study group, virtual or physical. Use free/cheap tools like Slack, Zoom, codeshare.io, etc to ask questions, help stay focused.

 _Negatives you have to know:_ Ageism is real. If you never heard of it, search on google and read about it. You are considered over the hill at 40. Many are sharing on HN that recruiters are not returning calls because of perceived age on the resume. I'm near that age and experiencing it myself.

You will have to constantly spend own time learning new things. It may even feel like you have to get a new associate degree every 3 - 5 years. I think no such issue exists in the law enforcement, firefighting and such industries.

But if you like computers, now is the best time.

</comment><comment><USER54> _However, I find your insult to Trump voters gratuitous and unnecessary._

Sorry, I disagree. It's time to start calling out these people and holding them responsible for their actions, which affect us all.

Voting for a demagogue needs to carry a heavy social cost, or nothing will change.

<comment><USER18> > Voting for a demagogue needs to carry a heavy social cost, or nothing will > change.

To me this means anyone who found either top US candidate as a viable option, so am I supposed to dismiss the majority of Americans merely because they voted? Personally this was an off-topic and non-relevant aside that served no purpose but to start flamewars. Politics is a mind-killer.

Not to mention hardly everyone who visits HN is even from the US and those outside of it (in western countries who have experienced stable/functional political systems) are very likely looking at the whole thing as a sidehow rather than who one voted for as some deep analogous reference to the topic at hand.

<comment><USER55> > Politics is a mind-killer.

If you think this is so then don't talk politics. But if you're asking us to be Good Germans that's not going to happen.

<comment><USER18> Shoehorn your politics into conversations all you like. That's why we have downvote buttons on HN.

</comment></comment></comment></comment><comment><USER56> Forget code... they should learn to bubble. (Bubble.is)

</comment><comment><USER57> > I could not use my GI Bill to go to code school. That was the number one > roadblock

Nobody needs a "code school" to learn how to write code.

<comment><USER58> True, but what does "writing code" mean? If it means learning some basic JavaScript syntax and writing a small text adventure, that isn't hard at all. Learning the mathematical fundamentals of CS on the other hand is a great deal harder, and getting up to speed with what technologies are considered standard is extremely difficult.

<comment><USER59> You're not going to learn much CS from a code school.

<comment><USER60> Many, if not most, software jobs require very little CS knowledge. At such jobs the ability to compare numbers and read a chart (a matrix of algorithms and data structures vs. time vs. space complexity) will cover almost every possible use case.

"Mid-level development as a skilled trade" jobs, for example.

<comment><USER61> And yet, most software jobs interview for CS knowledge. Maybe there should be code camps for interview CS knowledge.

<comment><USER60> Yes, and most of those interviews are terrible.</comment></comment></comment></comment></comment></comment>


Gitblit - open-source stack for managing, viewing, and serving Git repos - <AUTHOR> http://www.gitblit.com/ <comment><USER2> I've been using gitblit for a few months, and have been very pleased with how easy it is to set up and manage. It's great to set up http sharing of git repositories inside an organization.

It has nice features like ACL's and federation for backup.</comment>


An Introduction to CubeSats - <AUTHOR> https://gereshes.com/2019/01/28/an-introduction-to-cubesats/ <comment><USER3> For a long time now I have been very interested in sending my own satellite up as a hobbyist project. I have a good background in software, electronics and hardware (top to bottom robotics), but not a solid background in physics.

A few questions:

1\. What's the cheapest you can put a satellite in space (in terms of launch) and for how long would it orbit at that cost? Size wouldn't really be too much of a problem (I can go as low as 3x3x3 cm at a push).

2\. Are there strict limitations about what you are allowed to put up into space? (In terms of components and contamination). Also in terms of transforming - is it allowed to unfold?

3\. Do the satellites have to undergo some formal testing to be allowed on the space craft? What's that process and how much does it cost? I imagine they can't risk it blowing up or falling apart?

4\. Has anybody looked to sub-divide the cubesat 10x10x10 into 8 smaller satellites? If you could somehow keep them all attached in fixed locations, you could have a much larger sensor surface area at a low cost.

5\. How do they get the satellites to the launch location and how long does it have to be there in advance?

I think using reaction wheels is good for rotation and I don't think propulsion will be as "easily" possible. Compliant communications would be the most difficult part in my opinion, trying to keep it low power and effective.

As for the actual mission of the project, I'm still not decided. It could be cool to host some kind of server from space, but just throwing some hobbyist sensors up there and seeing how they behave would also be good.

Thank you in advance for any help with those questions.

<comment><USER4> I worked in a lab for the US government building cubesats for a summer during college. I can't answer everything, here are a few answers.

1\. Last time I heard pricing per pound to orbit was ~$10,000 per pound. This was for the shuttle though, so I don't know if this has changed. 2\. I would guess this depends on the launch provider. Whoever's launch you're piggybacking off of will probably get to make this decision. I never heard of any real restrictions, but this wasn't my area of expertise. 3\. You'd be right about that. I don't know about pricing, but your payload will need to go through vibration testing and the like 4\. No clue on this one 5\. You'd probably have to physically make the trip (and I'd think you'd want to. Seeing a launch is always cool). Timing will depend on whose launch you're piggy backing off of, but we needed to have everything done a few weeks before launch day.

Hope this helped a bit.

<comment><USER5> Would you be able to give me more details on that program? That's something I'd be really interested in pursuing!

</comment></comment></comment><comment><USER6> Decent intro to CubeSat hardware. If you want to know about CubeSat software, let me know. The company I work for, Kubos, builds an open source OS for small satellites: [https://www.kubos.com/kubos/](https://www.kubos.com/kubos/)

(I work on our web-based ground control software, Major Tom.)

<comment><USER7> (Say hi to Marshall!)

And if someone has any questions about the ground side of things I work at KSAT which provides a global network of ground stations (both cubes and larger).

We often find sat builders completely forgetting about the ground segment and then struggle to communicate with the cube. Often by using exotic encoding and/or modulation schemes or choosing frequency bands that are either too crowded or hard to license in some parts of the world.

<comment><USER8> Does it make sense to run a ground station as a business, renting out the bandwidth to those who need it?

<comment><USER9> Alternatively if you want to have open data and share it with the community you can set up a SatNOGS ground station. Even if you don't have a Cubesat in the works. Check out wiki.satnogs.org

</comment></comment></comment></comment><comment><USER10> I'm part of the same University at Buffalo group as the author. If this interests you, we've open-sourced some of our stuff, including a VHF/UHF communications radio and star-tracker software.

Radio: [http://lfradio.space](http://lfradio.space)

GitHub: [https://github.com/UBNanosatLab](https://github.com/UBNanosatLab)

<comment><USER11> That's too awesome. I'm tearing up here. We will be using this for sure on our project. Thanks!!

<comment><USER11> And if possible would like to get in touch for possible collaboration. I have a nanosatellite project in brazil.

</comment></comment></comment><comment><USER12> As an amateur astrophotographer I've been following the development of cubesats closely. It seems more and more likely that a small group or an individual would be able to launch a space based telescope within my life time. Right now it's a bit tricky still, and not really sure if you're allowed to have a camera in space yet (might be considered espionage). But still, extremely cool ... maybe someday soon a crowd funded mini Hubble might be an option!

<comment><USER13> If you're in the U.S., and are interested in the licensing issue, this is probably the page you want: [https://www.nesdis.noaa.gov/CRSRA/licenseHome.html](https://www.nesdis.noaa.gov/CRSRA/licenseHome.html)

It is indeed an issue, but a surmountable one.

</comment></comment><comment><USER14> I apologize if this is a silly question but given that this "democratizes" satellites, is anybody allowed to launch satellites into orbit? Or is there some formal application or protocol that people and companies need to adhere to in doing so?

<comment><USER8> Yeah, launch providers ("rockets") need to be certified by bouth their country of incorporation and the country they launch the rocket from. But law between countries doesn't need to be synchronised.

</comment></comment><comment><USER15> Planet Money did a series about going to space. [https://www.npr.org/sections/money/2017/12/01/567267573/plan...](https://www.npr.org/sections/money/2017/12/01/567267573/planet- money-goes-to-space)

They went over the history and changing economics of CubeSats.

</comment><comment><USER16> The recent Mars lander mission included a pair of 6U cubesats used to relay communications. They worked great: [https://en.wikipedia.org/wiki/Mars_Cube_One](https://en.wikipedia.org/wiki/Mars_Cube_One)

<comment><USER17> I worked on the software for the attitude determination and control system (ADCS) for the MarCO spacecraft.

<comment><USER16> Well congratulations! Was it fun? Is working on a cubesat radically different than other types of satellites, or do the control systems end up working more or less the same?

<comment><USER17> Not radically different. The company that did this work was staffed with engineers who had experience on larger spacecraft. The fundamental algorithms are the same. The difference is that everything is much smaller - <USER2> momentum, so less large reaction wheels, etc. The nice part is that you can use commercial parts, so you get access to much more modern electronics than old rad hard parts.

</comment></comment></comment></comment><comment><USER9> Hi. If you are into open hardware and free software don't hesitate to check [https://libre.space](https://libre.space) a non profit developing open source space technologies

We've built SatNOGS a global ground station network [https://network.satnogs.org](https://network.satnogs.org) with more than 100 stations online globally and 50 more in testing build by volunteers

We've also built the first Cubesat under CERNs OHL license. [https://upsat.gr](https://upsat.gr)

</comment><comment><USER18> It seriously impresses me everytime I read about CubeSats. I still remember the first couple times there was a Kickstarter for the CubeSat when the idea came out. Admittedly, I scoffed at the idea because I didn't think it was feasible. I'm pretty happy to be proven wrong.

<comment><USER19> To impress you even further, cubesats were a thing long before Kickstarter existed.

I wrote my masters thesis on one back in 2003, and it was launched in 2004. Even back then this was such an established concepts there were niche conferences for it.

</comment></comment><comment><USER20> The question I ask when small satellites are promoted is, how do we avoid Kessler syndrome?

[https://en.m.wikipedia.org/wiki/Kessler_syndrome](https://en.m.wikipedia.org/wiki/Kessler_syndrome)

<comment><USER6> CubeSats are low mass and tend to be in low orbits that decay in time periods between a few weeks and 10 years. Also, all modern satellites have to be launched with a deorbit plan.

<comment><USER21> I'm not sure the de-orbit plan thing is successfully being enforced by any launcher.

That being said kessler's syndrome impact are usually over-exaggerated by "big space" as a reaction the disruption going on in the business.

</comment></comment></comment><comment><USER22> "To answer that, let's first define a U. A U is 10x10x10 cm cube of space from which cubesats derive their name"

So, what's a U? Is it a mathematical constant, or just arbitrary?

<comment><USER6> A "U" is a Unit, which was arbitrarily defined as a 10x10x10 cm cube.

<comment><USER22> I cant tell if you're being facetious. Does U just literally stand for unit then?

<comment><USER23> You'll see this in server hardware as well...

1U servers, 2U servers..

<comment><USER24> different size, however. in servers and equipment racks, 1U = 1.75 inches.

<comment><USER25> Height wise. Width is 19"

Depth varies dramatically - from maybe 1" to 1m

</comment></comment></comment></comment></comment></comment><comment><USER26> Why do you need to send up atoms when you can beam up bits?

<comment><USER27> To beam bits down.

<comment><USER26> I am saying rent cubesat software like AWS. Why send more hardware?

<comment><USER27> Because you need certain sensors over a certain location on Earth? I don't think we're at the point yet where such needs can be covered by renting.

<comment><USER26> We have enough cubesats to make that happen. You can rent time slices for software.

That's like saying you need to access certain sectors of a hard disk.

<comment><USER28> There are two important reasons for creating and launching cubesats:

1) Learning opportunity - that's how people get experience with space technologies.

2) Equipment testbeds - companies that would like to sell technology for use in space need to prove it actually works in space. If you can get a CubeSat project to use your component (by e.g. donating it + some money) as a part of their satellite, you can test it in space for much cheaper than it would take to build an entire satellite on your own. It meshes nicely with 1), as people who want to learn space technologies tend to not have money to build and launch satellites on their own.

As for your original question: we're far from the point of having all necessary sensors in orbit. There's not much to rent out yet.</comment></comment></comment></comment></comment></comment>


GCP - cp with a progress bar - <AUTHOR> http://www.hecticgeek.com/2012/03/gcp-command-line-file-copy-ubuntu-linux/ Nifty, lightweight copy tool. Completely replace cp with: alias cp="/usr/bin/gcp" <comment><USER2> For single files or monitoring other pipe based operations (like network transfers) pv [1] is also a useful tool.

1 - [http://www.ivarch.com/programs/pv.shtml](http://www.ivarch.com/programs/pv.shtml)

<comment><USER3> Using pv:

      gcp() {
        cat "$1" | pv | cat > "$2"
      }

<comment><USER4> useless use of cat

        pv < "$1" > "$2"

<comment><USER5> Even if the _cat_ at the beginning of a pipe isn't strictly necessary, it still helps readability to have everything flowing from left to right.

<comment><USER6> I also advocate this "useless" use of cat, but you can write the redirection before the command:

        <"$1" pv >"$2"

</comment></comment></comment></comment></comment><comment><USER7> The 'g' prefix is a bad idea. On BSD systems that prefix is used to refer to binaries in the GNU toolset.

<comment><USER8> I'd recommend "pcp," for "progress copy"...I'd use it for the name alone!

</comment></comment><comment><USER9> Why? rsync does all of this and a whole lot more.

<comment><USER10> He didn't want all the complication of rsync, he just wanted something simple with a progress bar. Rsync isn't really that simple. Sure, he could of wrote a shell script on top of rsync, but he probably learned a lot more from this.

<comment><USER11> For local copies, rsync with a progress meter is as simple as

      rsync --progress <source> <destination>

<comment><USER12> I usually use it like this for local copy:

        rsync -rvh --progress <source> <destination>

<comment><USER13> Oh-my-zsh has a plugin 'cp' which is basically an alias: alias cpv="rsync -poghb --backup-dir=/tmp/rsync -e /dev/null --progress --"

</comment></comment></comment></comment></comment><comment><USER14> This one is also pretty clever (based on catching the write() syscall with strace) : [https://chris-lamb.co.uk/posts/can-you-get-cp-to-give-a- prog...](https://chris-lamb.co.uk/posts/can-you-get-cp-to-give-a-progress-bar- like-wget)

<comment><USER15> Thanks.

</comment></comment><comment><USER16> I think someone made a patch which works with the original gnu coreutils

Oh here it is [http://beatex.org/web/advancedcopy.html](http://beatex.org/web/advancedcopy.html)

</comment><comment><USER17> This seems relevant:

[http://www.commandlinefu.com/commands/view/4553/copy-a- file-...](http://www.commandlinefu.com/commands/view/4553/copy-a-file-using- dd-and-watch-its-progress)

dd does not show a progress bar, unfortunately but it does report its progress.

</comment><comment><USER18> Shouldn't cp have "-h" (human readable) flag that does exactly that?

<comment><USER19> _UNIX Style, or cat -v Considered Harmful_ : [http://harmful.cat-v.org/cat-v/](http://harmful.cat-v.org/cat-v/)

<comment><USER18> That's not an argument. There's no reason why cp shouldn't report progress if you want to. Not one.

</comment></comment></comment><comment><USER20> SCP works locally too and has a progress bar.

<comment><USER21> scp just falls back to cp when copying locally, so doesn't show any progress bar.

</comment></comment><comment><USER22> If you use oh-my-zsh, gcp is binded to "git cherry-pick" (with auto-completion etc.), so I did:

        sudo ln -s /usr/bin/gcp /usr/local/bin/cp_

</comment><comment><USER23> A good alternative to cp.</comment>


Recent Azure Outage – Report - <AUTHOR> https://azure.microsoft.com/en-us/status/history/ <comment><AUTHOR> _As part of planned maintenance activity, Microsoft engineers executed a configuration change to update one of the name servers for DNS zones used to reach several Microsoft services, including Azure Storage and Azure SQL Database. A failure in the change process resulted in one of the four name servers ' records for these zones to point to a DNS server having blank zone data and returning negative responses. The result was that approximately 25% of the queries for domains used by these services (such as database.windows.net) produced incorrect results, and reachability to these services was degraded. Consequently, multiple other Azure and Microsoft services that depend upon these core services were also impacted to varying degrees._</comment>


Leaked Comcast docs prove 300GB cap has nothing to do with network congestion - <AUTHOR> https://www.yahoo.com/tech/s/leaked-comcast-docs-prove-300gb-data-cap-nothing-003027574.html <comment><USER2> Metered goods have a long history of having to have the meters certified by state bodies.

For instance, grocery store scales, gas pumps, power meter manufacturers, etc.

If we're going to lose the fight with Comcast over metered bandwidth, then perhaps we need to push for laws regarding inspection and validation of their metering systems themselves.

If they're limiting consumers to a certain amount of traffic, I want the definition of traffic to be clearly delineated and for the measurement systems to be properly inspected and regulated.

For instance, do they measure at the modem? At the local node? At the edge of the network?

Does local traffic within Comcast's city-wide network count?

If someone sends an IP traffic that their computer never requested and is filtered out, does it add to the traffic usage?

Does a UDP broadcast in a subnet count towards everyone's bandwidth, even if the cable modem filters it out?

Does this cover ICMP and UDP?

Does Comcast's own "Are you there?" packets to cable modems count towards traffic allotments? Does Comcast's cable modem traffic to the registration and DHCP servers count?

If they're going to screw-over customers, then there needs to be clear rules they have to follow so they can't just make up numbers. There also needs to be a way to make sure that DDOS attacks can't attack the bills of customers.

<comment><USER3> Anecdote: back in 2009, I had a Comcast account in a metered market and didn't need cable service for a bit, so I tried an experiment.

I plugged my cable modem into a dumb switch. It had a link, but there was nothing else attached; there was no router to act as a DHCP client, no frames being sent to the cable modem at all. In six days, my usage meter incremented by 0.5 GB. Plugging in a protocol analyzer revealed a constant stream of ARP requests for other subscribers' IPs. These were apparently counted against my cap, and presumably they were counted against _everyone 's_ caps, making 250 GB/month 1% smaller than advertised.

Comcast sent me to a document describing their metering methodology:

[http://www.netforecast.com/documents/NFR5101_Comcast_Usage_M...](http://www.netforecast.com/documents/NFR5101_Comcast_Usage_Meter_Accuracy.pdf)

Their reps defended the practice of counting Comcast-generated broadcast traffic against everyone, even though there's no way for subscribers to prevent it.

<comment><USER4> This is a fantastic point that I don't see brought up enough. I have some anecdotal experience of my own to help illustrate what an issue this really is.

Our ISP has recently enacted data caps. The first time they threatened to disable our account for going over, I pointed out to them that:

\- My firewall has logged tens of gigabytes of dropped/rejected traffic.

\- That if I ran a TCPDump on our WAN interface, could see management and broadcast traffic for neighboring CPEs (modem).

\- That I know for a fact (I used to work for them in a previous iteration) that their network isn't built in a way that would allow them differentiate their management and monitoring traffic from individual customer traffic.

\- And finally, that the Layer 2 & 3 statistics of that WAN interface were nowhere close to their own statistics for the account.

They have yet to respond to that complaint, despite going to the FCC. I really wonder what would happen if one were to take their ISP to court with the proper documentation.

</comment></comment></comment><comment><USER5> I previously worked in engineering at ISPs. There are two points to make: (1) Monthly data caps do not help manage congestion, at least not directly. However, non-engineers have a lot of trouble understanding this. (2) Telling customer support agents to say "this is not about congestion management" is a perception-management move. Cable companies are very sensitive to criticism that they are offering a "shared pipe" and that you're somehow not getting what you signed up for.

On the first point: Congestion is problem during peak hours, not during the whole month. You could download a few terabytes over the course of a month and not cause a problem for anyone else, if you avoided peak hours. Data caps only work for congestion management if they discourage you from using services during peak hours.

There's not a grand conspiracy by the cable or mobile companies about this, though - it's mostly a failure to understand this concept, or an unwillingness to go back to peak load pricing (e.g. different night/weekend rates like phone plans have/had).

<comment><USER6> peak load pricing? in an age where physics and manufacturing processes have given us native 100GE signals at shockingly low cost per bit?

it used to be backhauling access traffic was expensive (think T1s to cell phone towers). well, those days are long behind us. a little less profit taking and a little more infrastructure investment would solve bandwidth problems in duopolist markets.

<comment><USER7> It's not the backhaul that is the chokepoint. It's local nodes near your house. The one you share with 50-100 homes or more.

<comment><USER8> A Netflix "ultra HD" stream requires 25Mbps. Even if all 100 homes are simultaneously streaming ultra HD, that's 2.5Gbps in total. Coax can handle that easily with modern equipment.

Obviously they could be using very old equipment that can't, but whose fault is that?

<comment><USER7> Cable companies can't replace network hardware every three years. It's just not profitable. Cable systems were upgraded to broadband 2000-2005. 10-15 year replacement is short in the telecom industry. It's not surprising that new entrants into the market can give much higher speed. If you demand upgrades every 5 years that is going to increase costs considerably.

Also a large amount of coax spectrum is for video tv service.

The real curiousity is why Verizon fios can't deliver near 1gbps. It's already has a fiberoptic network. I'm guessing it's the hardware at the nodes.

</comment></comment></comment></comment></comment><comment><USER9> >Now Comcast claims that 98% of its subscriber base won't even come close to going over the 300GB cap.

I am the 2% !!!

        Date       Download       Upload       Total
        2015-10      419.63 GB     50.89 GB      470.52 GB
        2015-09      601.49 GB    129.11 GB      730.60 GB
        2015-08    1,011.83 GB    196.79 GB    1,208.62 GB
        2015-07      504.28 GB     56.33 GB      560.61 GB
        2015-06      398.04 GB     43.94 GB      441.98 GB
        2015-05      305.05 GB     42.20 GB      347.25 GB
        2015-04      375.06 GB     81.83 GB      456.89 GB
        2015-03      215.10 GB     65.89 GB      280.99 GB
        2015-02      316.11 GB    180.48 GB      496.59 GB
        2015-01      413.11 GB    135.68 GB      548.78 GB
        2014-12      457.10 GB     56.55 GB      513.65 GB
        2014-11      270.25 GB     76.81 GB      347.05 GB
        2014-10      311.27 GB     86.75 GB      398.03 GB
        2014-09      381.53 GB    119.21 GB      500.74 GB
        2014-08      237.63 GB    271.40 GB      509.03 GB
        2014-07      277.23 GB    388.38 GB      665.61 GB
        2014-06      213.32 GB    162.85 GB      376.17 GB
        2014-05      223.88 GB     67.49 GB      291.37 GB
        2014-04      258.21 GB    124.38 GB      382.60 GB
        2014-03      205.78 GB     77.03 GB      282.81 GB
        2014-02      315.23 GB    448.78 GB      764.01 GB
        2014-01      342.07 GB    279.32 GB      621.38 GB
        2013-12      128.54 GB    114.93 GB      243.47 GB

<comment><USER10> What kind of things do you do that push you over a terabyte? I don't get anywhere near that. I'm just curious, and not in any way saying there is anything wrong with that.

<comment><USER11> Reinstalling a Steam library could do it, restoring system backups, having a large household of frequent Netflix users, etc.

<comment><USER9> I think you're right; my housemate built a new PC this summer. That download peak coincides with reformatting his old drive.

</comment></comment></comment></comment><comment><USER12> This link is to a Yahoo News republication of a BGR rewrite of a Consumerist story that was a rewrite of a DSLReports scoop.

Here's the link to the original reporting: [http://www.dslreports.com/shownews/Leaked-Comcast-Talking- Po...](http://www.dslreports.com/shownews/Leaked-Comcast-Talking-Points-Admit- Caps-Not-About-Congestion-135577)

</comment><comment><USER13> Eh. This is lawyer-speak, probably more than a little bit influenced by all the trouble AT&T has had with the FCC over their grandfathered "unlimited" plans.

If corporate documents are instructing reps to tell customers it's about congestion when there is no congestion, that doesn't look good at all when the government starts asking about these plans and policies.

It's also probably not a good idea to be telling customers that the network you spend hundreds of millions of dollars marketing as super modern and awesome just can't handle their traffic.

I'm not a fan of caps, either, but aggregate home bandwidth usage is going to go up and up, while more and more customers are going to have everything they need from IP services and thus want to cancel traditional TV. Should you charge an IP customer who uses 4TB/month streaming 4K the same as one who uses 200GB? How else do you discriminate?

<comment> ju-st There is no reason to discriminate as the TB's are basically free. The only problem is the shared medium on cable (Docsis)/GPON internet. And the evil ISPs who want to make more money because nobody wants their uncompetitive TV products anymore.

<comment><USER14> The TB's are basically free- until you have to upgrade the equipment.

<comment><USER15> Not really. It costs a lot to build _and maintain_ a fiber network, the tech you put on endpoints is just not that expensive in comparison.

[http://arstechnica.com/tech-policy/2010/03/fiber-its-not- all...](http://arstechnica.com/tech-policy/2010/03/fiber-its-not-all-created- equal/)

</comment></comment></comment></comment><comment><USER16> Enjoy your 1Mbps connection, Comcast suckers. My DSL connection has ten times the bandwidth!

Seriously if you still have a local DSL provider, patronize them before it's too late. National policy is explicitly based around competition between DSL and cable, so when you ignore DSL because cable advertises fraudulent peak- rate speeds, you're saying that competition does not matter to you.

Telco infrastructure is even still regulated such that smaller companies can be ISPs, leading to great customer service and even pro-privacy attitudes such as these: [http://www.forbes.com/sites/andygreenberg/2012/06/22/ceo- of-...](http://www.forbes.com/sites/andygreenberg/2012/06/22/ceo-of-internet- provider-sonic-net-we-delete-user-logs-after-two-weeks-your-internet-provider- should-too/)

<comment><USER17> Unfortunately, my DSL provider can deliver me 6Mb/s. Comcast promises 75Mbit and actually delivers me 90Mbit.

Granted, I live in Chicago which actually has something resembling competition (AT&T is rolling out GigaPower and as far as I know we're a test market for DOCSIS 3.1) so the Internet metering on the Comcast website just straight up doesn't work and throws up an error.

<comment><USER16> Well sure, if you don't have this 1Mbit/sec usage cap then Comcast's instantaneous line speed is pretty great.

Hopefully your competitive market continues.

</comment></comment></comment><comment><USER18> IMO a big part of the issue is the consumer. Consumers know very little about internet other than "buy the one with the biggest number". So internet is advertised like flow rate (L per minute) and restricted like water (Cubic M).

I think they should goto a connection + volume model. $10 a month just to be connected, maybe 500MB free download or whatever. And then you pay per GB, variable rates based on time of day. $1 per GB at 7pm, $0.01 at 3am. Like how industrial electricity rates work (if i understand correctly).

Pricing models will screw consumers over until the pricing model matches the economics of the situation. If I were a startup this is the issue I'd fix; Pricing models that do not match the economics.

<comment><USER11> $1 per gigabyte is an exorbitant price even if everyone on the planet was using the network at the same time.

</comment></comment><comment><USER19> I can't help but chuckle and shake my head in amazement at the script their flacks came up with to say "we're starting to charge people an extra $30 to use more than 300GB":

Current policy: Don't say "unlimited data," say "250 GB data, but not enforced."

New policy: Don't say "300 GB data," say "we gave you 50 GB more data for free!"

</comment><comment><USER20> Of course it doesn't.

Cable companies know that they can sell you data twice unless you convert your internet data to be your TV.

They don't want to give their customers the means to free themselves from half of their monthly bill.

They have every incentive to make their internet service not work for video.

Someone who ran a local ISP said that bandwidth is becoming basically free. People can only consume so much. Even with a fast connection no one is going to be using it all the time.

</comment><comment><USER21> The most sane pricing would probably be per bit with surge pricing during congestion periods. But customers would flip out at that.

<comment><USER22> I disagree, even if customers would not flip out. Charging per bit is an incorrect alignment to consumption of a finite resource (such as water, gas, or even electric). Data is not a finite resource, as receiving data does not deplete the source providing the data. The only sane way to charge for connectivity is to charge for operations and support, with a profit percentage.

<comment><USER23> Any given network can transmit only so many bits per second. That bandwidth is, in fact, a finite resource.

<comment><USER24> But if you're operating below that limit, the marginal cost is zero.

<comment><USER23> Of course. That's exactly the justification for charging more during congestion periods. That's when you're operating close to the limit.

<comment><USER11> Don't charge more, just provide less. Provide a proportional share of the bandwidth that is available.

<comment><USER25> The point of charging more during peak times is to discourage usage during those times, which leads to a greater proportion of available bandwidth per user at that time.

</comment></comment></comment></comment></comment></comment></comment><comment><USER26> There've been a lot of reports locally of Comcast reporting an overage where none existed. Neighbors saying that nothing in their use suggested they were anywhere close to that kind of use and yet being charged.

There were enough anecdotal reports that if I had Comcast I'd put my own router in front of theirs to have an independent measure.

Unrelated: my experience with Comcast business over the last few months has been the worst customer service I've experienced in the last decade. Completely unreliable.

</comment><comment><USER27> I suspect that the 300GB figure comes as a result of (poorly) capacity planning for 1Mb/month @95th percentile per customer. If they can encourage people to stay within that limit, they can say: we have 1000 customers originating from PoP X, so we need to provision 1Gb bandwidth to cover that.

</comment><comment><USER28> When I worked at a University I constantly overheard that the bandwidth was doubling every year because the costs were coming down so rapidly.

So it's really no question that any cap that doesn't double at least every few years is a business case and has nothing to do with technological constraints.

<comment><USER29> I ran a $150 million Internet P&L for several years. The general trend is that customer use of data doubles every year and actual cost of goods sold halve every year. This trend has gone on for much longer than most people thought reasonable.

</comment></comment><comment><USER30> If you have to get Comcast, sign up for their business plans. The speed is precisely what they advertise for. The regular plans have a spike in speed when you start downloading something and slow down afterwards.

I'm using their base plan (15Mbps) and can stream HD movies with no problem

<comment><USER31> I looked into a business plan, but wasn't willing to sign a 2 year contract. It's been longer than 2 years and I still have Comcast, but I would drop them so fast if there was any other option that provided reasonable service.

<comment><USER30> I have it month to month

</comment></comment></comment><comment><USER29> Salient and relevant:

[http://www.dtc.umn.edu/~odlyzko/doc/paris.metro.minimal.pdf](http://www.dtc.umn.edu/~odlyzko/doc/paris.metro.minimal.pdf)

</comment><comment><USER32> So it's just about charging $30-35 more for the same "unlimited" service. I don't understand how that's not false advertising when taking into account the real definition of "unlimited" and the fact that you have to read some obscure FAQ / TOS to find out that "unlimited" is not "unlimited."

</comment><comment><USER33> We dont have caps here in Japan. There is a lot more people in a lot smaller area, and i dont have issues with my connection.

I also get 2gb/s. Pretty happy im not being gouged by those conpabies over there.

</comment><comment><USER29> It may or may not have anything to do with congestion. No Internet provider wants to advertise issues about congestion to their customers.

</comment><comment><USER34> Comcast is trying to get that cable money from somewhere else...

</comment><comment><USER35> "When that happens, it'll be interesting to see what type of excuse Comcast trots out to defend its seemingly arbitrary data cap."

Why would they even have to come up with an excuse? They are in a position of monopoly almost everywhere, what do they care? "If you're not happy you can go to another internet company. Oh wait, there is none! Now suck my d*ck and pay up!"</comment>


RethinkDB 2.3: user accounts, network encryption, Windows support - <AUTHOR> http://rethinkdb.com/blog/2.3-release/ <comment><USER2> This is great!

However, "In conventional RethinkDB deployments, users typically run their application server within the same closed network as their database servers. In that specific kind of environment, where the database isn't exposed to the public internet, there's typically little need for encryption."

I would push for more companies to actually encourage encryption locally too. Perimeter security is no longer sufficient.

EDIT: Adding Google BeyondCorp reference: [http://www.theregister.co.uk/2016/04/06/googles_beyondcorp_s...](http://www.theregister.co.uk/2016/04/06/googles_beyondcorp_security_policy/)

</comment><comment><USER3> That's delivery. User accounts, network encryption and Windows support.

I did a couple of interviews with this people; and I can ensure this features have a few thoughts behind them.

Happy to see RethinkDB going on, and very sad I didn't make 100% my best at the interviews by personal issues at the time.

It's a pity that many people here in my country do not know still about RethinkDB. Other mainstream databases are more common knowledge.

I wish the best for you, and I keep a very good impression of each and every one of the people with whom I could talk at the process.

Very curious about the windows port. Has been hard? do you use any kind of framework that did ease the porting of the RethinkDB code?

Network encryption is undervalued in this times. A funny and serious feature. I would like to see the dashboards, thoughts and meetings around this one.

Keep up the good job!

<comment><USER4> * It's a pity that many people here in my country do not know still about RethinkDB. Other mainstream databases are more common knowledge. *

I guess is because this guys have been jumping around to see what sticks, their focus nows seems to be the "the database for the realtime web".

Why should companies bother if rethinkdb doesn't show to have clear goals yet? tomorrow they can be the "database for the (whatever)".

<comment><USER5> If I remember my RethinkDB history correctly, they picked the realtime web as their focus a while back.

Also, RethinkDB has kept their focus on real-time use cases since picking this focus.

<comment><USER6> I've heard about RethinkDB for the first time in 2013[1] and at the time it was described as "MongoDB with joins and auto-sharding".

I also heard that one of the initial "killer-features" of RethinkDB was supposed to be a stored history, just like a big persistent data structure (in my understanding, similar to Datomic). In the video[2] a lot of time was spent describing the benefits of an append-only structure.

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

<comment><USER7> > "MongoDB with joins and auto-sharding"

It still is that. And (now) more.

I don't think it was ever supposed to be a history-saving data structure -- that log-structured stuff is (I haven't watched the video, I'm assuming) about talking nice to SSD's. It was at one point, after that video, a single-machine memcache-compatible persistent key/value store, before the pivot to being clustered and having its own query API.

</comment></comment></comment></comment></comment><comment><USER8> So I was trying out the new TLS support starting RethinkDB with a command like so:

rethinkdb --http-tls-key key.pem --http-tls-cert cert.pem --driver-tls-key key.pem --driver-tls-cert cert.pem

and the web ui goes to https successfully, but it looks like I need to change something for the Python driver:

In [1]: import rethinkdb as r

In [2]: r.connect("localhost", 28015).repl() \</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>--- ReqlDriverError Traceback (most recent call last) <ipython- input-2-655078830678> in <module>() \----> 1 r.connect("localhost", 28015).repl()

.../site-packages/rethinkdb/net.pyc in __init__(self, parent, timeout) 313 .replace('receiving from', 'during handshake with')\ 314 .replace('sending to', 'during handshake with') \--> 315 raise ReqlDriverError(error) 316 except socket.timeout as ex: 317 self.close()

ReqlDriverError: Connection is closed.

<comment><AUTHOR> You need to pass the ssl certification to `connect` for the driver to successfully connect to an encrypted port. Check out the docs here: [http://rethinkdb.com/api/python/connect/](http://rethinkdb.com/api/python/connect/)

EDIT: also, we'll modify the docs to make that more clear (see [https://github.com/rethinkdb/docs/issues/1076](https://github.com/rethinkdb/docs/issues/1076))

<comment><USER8> Thanks. That fixed me up:

In [6]: r.connect(host="localhost", port=28015, password=" __ __ __ __" , ssl={"ca_certs": "./cert.pem"}).repl() Out[6]: <rethinkdb.net.DefaultConnection at 0x7f92ea759fd0>

</comment></comment></comment><comment><USER9> Rethink is amazing and sadly underrated. This release looks awesome! Great work.

PS: Can you start selling plush dolls of the mascot? So cute.

<comment><USER10> Hey hey, I work on the community team at Rethink and I'm happy to send you a mini version which is a little stress doll Thinker.. The plushies were an Etsy order and we only have a few left. I think we'll do more down the line :) christina [at] rethinkdb [dot] com. Also, thank you for the kind words!

<comment><USER11> Some RethinkDB merch like that would be awesome!

</comment></comment></comment><comment><USER12> Currently migrating from a users-as-a-service startup to rethinkdb. So far query language has been intuitive (need to query via the length of a nested array? Got it) and rethink community on StackOverflow etc has been solid. Another thumbs up.

</comment><comment><USER13> > Network encryption: built-in TLS support encrypts database connections

> RethinkDB 2.3 includes TLS support, contributed by Josh Hawn. Josh > integrated OpenSSL, enabling encryption on the wire for both the client > driver protocol and communication between database servers in a cluster. > This update also brings encryption to RethinkDB's web-based administrative > user interface, which you can now access with an HTTPS URL.

Yay! WAN Replication over TLS is built in now.

I'm not sure how I feel about the web interface, might be better to stick with SSH tunneling for that.

<comment><USER14> If you like, you can also turn off the web UI completely with `rethinkdb --no- http-admin`.

<comment><USER13> Good to know, thanks. :)

</comment></comment></comment><comment><USER15> On the HN front page simultaneously is RethinkDB with Windows support, and Windows with RethinkDB support. What strange times we live in.

</comment><comment><USER16> Congrats for the new release. I love the new user/permission mechanism!

</comment><comment><USER17> YES! Thank you so much for this great packed update. Loving RDB.

</comment><comment><USER18> This is a great release. Awesome job guys!

The inclusion of the fold command has had me thinking about RethinkDB for an event sourced system. Is anyone using it for this purpose at the moment?

Additionally, are folds usable with change feeds? That could be really powerful for event sourced systems.

<comment><USER19> Asher , yes . this is our prototype : [http://phwa.be](http://phwa.be) , a real time multimedia chatroom , with full markdown support but with radically different approach. It uses eventsource + rethinkdb change feeds and now i am looking at fold command. We are also building a realtime mobile marketplace which is going to be our main startup product.

</comment></comment><comment><USER20> Keep killing it guys! Love the work you guys do.

</comment><comment><USER21> My go-to-DB for everything I need stored. Keep up the good work!

</comment><comment><USER22> Does Rethink have TTLs yet?

<comment><AUTHOR> Slava @ Rethink here.

Not yet :( Document-level TTL is a surprisingly challenging feature to implement correctly in a distributed system. We'll try to get it in as soon as we can; sorry we haven't been able to do this sooner.

<comment><USER22> Slava, thanks for the response and I completely understand your predicament!

I would love to see it and it's a feature I have a lot of uses for :)

</comment></comment></comment><comment><USER23> Is there encryption at rest?

<comment><USER24> No, RethinkDB doesn't have disk encryption. The new encryption features in this release all relate to data on the wire.

</comment></comment><comment><USER25> AGPL is real show-stopper for serious adoption, IMO.

<comment><USER5> AGPL is used by a number of DBs such as MongoDB and Neo4j. I'm sure there are others, but these two are top of mind.

RethinkDB's drivers are Apache or MIT (I can't remember which).

Licensing the server as GPL/AGPL while making drivers Apache/MIT is an accepted practice in the database world as it provides the DB vendor with opportunities to protect revenue while the driver licenses protect developers from the GPL/AGPL.

<comment><USER25> In spite of drivers being non AGPL, companies with 'absolutely no AGPL' policy cannot try the open source version of these DBs which puts these products behind others. I don't think AGPL provides any real benefit for the vendor. Most small organizations will want their patches (if any) to be upstreamed so they don't have the maintenance burden. Most big organizations will want commercial support anyway. All AGPL does is discourage adoption.

There are plenty of non-AGPL DBs out there doing pretty well. Here are some examples of GPL/MIT/BSD style licensed DBs: Riak, Cassandra, Redis, MySQL, PostgreSQL, ArangoDB, CouchDB.

<comment><USER26> > companies with 'absolutely no AGPL' policy cannot try the open source > version of these DBs which puts these products behind others.

Many companies have dumb policies. They are the ones that need to change.

<comment><USER25> Why is it a dumb policy?</comment></comment></comment></comment></comment>


Apple becomes world's first trillion dollar company - <AUTHOR> https://www.theguardian.com/technology/2018/aug/02/apple-becomes-worlds-first-trillion-dollar-company <comment><USER2> Other discussion: [https://news.ycombinator.com/item?id=17672415](https://news.ycombinator.com/item?id=17672415)

<comment><USER3> Yup. Comments moved there.</comment></comment>