This course is intended to be like Michael Hartl's Rails Tutorial, but for Go. Happy to go into more detail, but that should give you a pretty good idea of what to expect.
1,172 karma · joined March 14, 2012
- UseGolang.com - Web Development with Go course
- Gophercises.com - Go exercise problems w/ screencasts
- Calhoun.io - Go articles/tutorials
- ErrorsInGo.com - Common Go errors and ways to fix them
YC Alum. Founder of EasyPost. Former Googler
Email: jon@calhoun.io
This course is intended to be like Michael Hartl's Rails Tutorial, but for Go. Happy to go into more detail, but that should give you a pretty good idea of what to expect.
A lawyer can be disbarred, and this is easy to enforce because they can't go into a courtroom and defend or prosecute afterwards.
Developers have no equivalent. There is no way to dictate who can and can't work as a developer. Perhaps you could create some sort of agency that every developer needs to be a part of to work, but I don't ever see developers all agreeing to give an organization that much power.
CC companies have too many incentives to force you to carry their physical card, so they will keep on producing things like the chip-and-PIN tech. That means we will always have one force pushing us to carry their physical card, and until I NEVER need to pull out that real card I have to carry it with me, so I might as well just use it.
My wife and I opted to do both physical + digital for our wedding and we found that the older crowd all relied on physical invites and info for things like the schedule, RSVPing, etc, while the younger crowd all used the digital alternative.
To be clear, the older crowd all knows how to use FB etc, and most had smartphones, but many still appreciated having something physical both to remember the wedding (my grandmother keeps the save the date on her fridge 5 years later), and to reference without having to constantly pull out a smart device.
Sure, you could argue that it is your day and you can do what you want, but I look at a wedding as a collective celebration. If it was just my day I wouldn't invite those people. I invited everyone that I wanted to be a part of that celebration with me, so I also put in a little extra effort to help them enjoy the day as much as I did.
What I am thinking about doing is writing a companion book that covers git, testing, etc. Eg after every chapter the companion book then walks you through writing tests, committing to git, merging it into master, etc. That way someone could optionally choose to do those things along the way. I might also experiment with other formats, but time will tell.
I'm not saying the lack of tips doesn't hurt drivers, but I agree that I have no idea how I could determine when a tip is justified.
2. Imagine you lived in a town where 99% of the population is not racist, but that 1% that is racist is blatantly so. They don't do thing subtly, but they openly use racial slurs and make it known that they don't like or trust people of a certain ethnicity.
Now imagine someone comes into town and when they happen to see someone of color they subtly walk to the other side of the road, or quickly double check to make sure their wallet is still there after they pass by.
To many (most?) people in the town, they likely wouldn't perceive this as being racist at all. Racism to them is walking into the passerby intentionally and saying something crude like, "Watch where you are going, *!"
When you spend your entire life thinking that this is what a racist is, Trump can seem incredibly tame by comparison.
Now we can get into a completely different discussion about whether those people truly are racist for not recognizing racism, not ostracizing the few blatantly racist people, etc, but in my experience nearly all of those people are making a genuine effort to be accepting of others and aren't intentionally racist. They have just grown up in a completely different environment/culture than what you would get growing up in a city, and their opinion of what is racism isn't the same as yours.
4. Where I grew up, something like 75% or more of the jobs were at factories. Toys, factory equipment, bicycles, fiberglass, metal, etc all came out of the town. And the people working these jobs weren't lazy - they would work 60+ hours every week, often working Saturdays, long overlapping shifts, and the factory would run 24/7. They even dealt with dangerous equipment (it isn't uncommon to see people missing fingers here) where they needed to pay attention to what they were doing all the time without any additional compensation. But they were happy. They could provide for their family. They could make enough to pay for a $100k house and their wife could stay at home and watch the kids because he likely was working and couldn't help out. Wages were never amazing, but they got by.
Now for whatever reason - automation, outsourcing, immigration, or whatever else - many of those jobs are gone, and now these people who previously would bust their asses to get by are still trying to bust their asses, but they are all fighting for the few jobs remaining. Wages are down (more workers than are needed by jobs). Spouses are working to try to help pay the bills. Despite all of that, things just don't look like they are getting better anytime soon. There simply aren't enough jobs available for them.
In cities service jobs can often help fill this gap, but in small towns it typically isn't enough. And many people don't want to, or can't afford to move. They are already barely able to pay their $400/mo mortgage and nobody would want to move to their prospect free town, so who are they going to sell their house to? They have grandparents in the area who need their help. They have kids 6 years into school with friends they don't want to uproot. So they do what they can, take what work they can, and get by hoping and praying that someone will take notice of their struggle and try to help them out. And the median income continues to decrease.
I find this approach works well because you don't have to ask "why did he make that design decision" but instead I intentionally make common mistakes a beginner would make, wait until they become an issue, and then I demonstrate how we can fix that issue. As a result you really get to understand not only how to create a web app in Go but also why developers tend to follow different design patterns.
I said this in another comment, but it is based on Michael Hartl's Rails Tutorial. I think showing someone how to go from nothing to a full app is a great way to help them get into web development without the frustration that comes from piecing together blog posts/docs/trial&error.
If you are interested in Go I'd love to get your feedback :) and if it isn't obvious, I am the author of the book.
Michael's book is fantastic and I really wanted something similar for people getting into go. My book doesn't cover git or testing but that is because rails is a framework with tons done for you, and in my book you basically build all of that from scratch. You learn a ton, but it is long and adding git or testing would have made the book like 600 pages (instead of ~400ish).
If you are interested in Go I'd love to get your feedback :)
I need to do a follow-up to that with the type I use to wrap that logic, but I am curious if this is inline with what you are looking for in the examples.
Many resources (like my book) are targeting absolute beginners so they are a bit lengthier to read if you are experienced, whereas other great books and whatnot are really hard for beginners to follow so at least expressing your skill level would help me recommend specific resources.
Once you cover (1) most of the others fall into line. There is little reason to use context values outside of MW from my experience.
Re (3) - can you provide a link or example of what you mean?
(5) - again, can you elaborate? Are you referring to error types? Or just how the errors are rendered?
I ask all these questions because I write a lot about Go and I am interested in trying to make examples of these available, but I want to understand what you are asking for first.
I know this may be challenging in some situations, but I doubt YC could offer the same value remotely. For starters, many of the talks given off the record would never happen if they were being streamed and could easily be recorded. You also would have less interaction with fellow batchmates, be less involved in group office hours, and a myriad of other small details that come from being present.
For remote to work (at YC or in the workplace) I believe it needs to be fostered and prioritized, and YC as it is now was never built around making remote work. If that is ever going to work I suspect an entire batch would need to be remote and the entire experience redesigned for that batch, and that doesn't appear to be a priority for YC.
Notice that I said team. You can still have a remote team inside of a mostly office-going company and it ends up being similar to a satellite office for a regular company.
Eg Google has many satellite offices, so they could arguably have "remote" be one of those "offices". I don't see this ever actually happening, but they could do it if they make sure that team is remote-first.
On top of this, there isn't really much one company does that the other doesn't. Lyft line in SF is great, but I believe Uber has something similar there so it's not very unique.
That said, the biggest reasons I would support Lyft are:
1. Lyft doesn't appear to be run by immoral people. One of the reasons I would be hesitant to work at Uber and don't want Uber to monopolize the industry is that they have shown that they are willing to do shady things that hurt others to achieve their goals. I would hate to see another Comcast come to power where we are all stuck with them despite hating them. Right now Uber gets away with not being hated mostly because people paint taxi companies as even worse, but if those go away I wouldn't be shocked if Uber suddenly doesn't look like the saviour we thought it was.
2. Having competition and alternatives helps you as a consumer. If drivers find a way to game the Uber surge pricing (I read about this happening but I'm unclear how true it is) to cause fake surges then having other options for a ride means you aren't stuck paying 3x the normal fare because all the drivers shut off their Uber apps to drive up surge pricing.
You may not choose Lyft over Uber every time. You might not even choose Lyft for your next 10 rides as finding drivers in a new city may be tricky, but I would at least suggest you install both apps and give Lyft a try.
I use it here because most introductory posts about encoding/decoding in go (like https://blog.golang.org/json-and-go) don't touch on these at all. Instead many people figure each of these out separately over time.
I felt this was a good approach given how aliasing builds off of it, but I may have missed a better approach. These are just ones that have worked well for me.
I feel like part of this stems from the fact that every service now wants to charge a monthly fee instead of offering a one time purchase.
If you want me to pay $X/mo, that fee has to correlate to the value you are providing me each month. The minute that equation changes, people start to consider other options.
One of the benefits to SaaS is that you can make more money and your revenue is more predictable, but on the other hand it means your market is more susceptible to competition because companies are comparing their options more frequently.
I have no idea how big that market is, but I suspect a lot of developers are like myself - not opposed to making a site more accessible but clueless about where to start.
I'm thinking user groups like colorblind users and blind users. I'm sure I am missing more groups, so sorry for my ignorance upfront.
1. Net usage after selling off excess energy 2. Net usage assuming there is no demand for excess when you have it (maybe everyone on the grid has solar panels)
Achieving 100% in #1 is great and I applaud Google for it. If everyone did this we could drastically reduce overall usage of fossil fuels, but I believe the fear is that people won't know the distinction and will assume "if everyone does what Google does we will all be 100% renewable" and that isn't true.
Softcover is something similar written in ruby that uses a combination of markdown with latex where necessary to generate HTML, PDF, ePub, and mobi book formats. It is what Michael Hartl uses (and created iirc) to build Rails Tutorial.
While it seems tightly linked with the Softcover publishing service, you can use the files it generates pretty much anywhere in my experience.
If so, that in itself is scarier than anything else being discussed here.
To assume Reddit is a unedited source of truth is just insane. Why people felt it was 100% tamper proof is beyond me. I wouldn't even trust public companies like Twitter to not have potential flaws like this.
1. Cracked screens are incredibly easy to fix, so the one example you can give that doesn't cost an arm and a leg is the one thing that arguably any random repair shop should be able to do.
2. Not everyone even lives near an apple store, so while you might benefit from driving in to a physical store, there is a large chunk of the population who won't (at least not without driving a few hours).
PA is a great example of this - the only stores in PA are basically around Philly and around Pittsburgh. Live anywhere else in the state and you are driving to a store out of town.
That isn't so bad if prices are reasonable, but when you get there and hear "$600 to replace the battery" the stores start to feel less useful.
I understand that there is value in the Apple store. I'm not trying to say that there isn't any, but I do believe the original comment overstates that value, especially when Google (or a third party they work with) offers a pretty reasonable replacement plan as an add-on to your purchase.
The pixel offers a $99 replacement plan, plus an additional $99 every time you replace the phone, up to 2 times. I think it lasts for 2 years.
If the only thing holding you back on getting the phone is being able to get it repaired, the cost difference is $70 or $50 the first time you break your screen, and $40 or $0 the second time, and the plan covers more than just broken screens.
The biggest downside is that you have to front the $99.