For me, the right fit is Python and Javascript. However, my problems and your problems are not the same. Java EE might be the best choice for what you are tackling for all I know. Also, you'll likely find that the year being 2017 is not as important as you think it is.
For me, Anki reviews are a morning ritual. I do whatever it scheduled for the day. Then, I take time to review weaknesses. Then I move onto doing my actual projects. A combination of project experience and curiosity inform me as to what new Anki cards I need.
So yes and no to your question. Anki by itself isn't useful for learning to program. Anki as part of a larger personal development system can be pretty effective from my experience.
The first thing that pops into my brain is how memory allocation works on a computer. In that context, indirection works really well. My program makes a general request for memory resources. The vm handles talking to the operating system for me. The operating system deals with the virtualized and real addresses for accessing the memory my program needs. In most cases, I'm okay with this arrangement.
This issue is really all about systems in general be they computer or social. As things scale bigger, representative indirection becomes MORE important, not anachronistic as the article suggests. Said representation helps contain complexity and provides for a simpler interface.
And that's what the electoral college does. It simplifies things. It allows states to take care of their own election details. The central government doesn't have to much micromanage the details of every state. Their primary concern is who gets to that 270 electoral vote threshold. The fed level hopefully doesn't get too wrapped up in details of how ballots are cast or how votes are counted.
And yes, I concede that it's not necessarily "fair" and that there are edge cases that are unfortunate. But it is a reasonably stable and well-engineered system all things considered.
Morally, I agree with you. DRM is an exercise in futility. But you aren't really comparing apples to apples here.
I radio ripped my share of music too when I was a kid. It was a pain. I had no little control and often no warning about when a song I wanted would play. The dj would often talk over the start or end of the song. A song I wanted would sometimes fade transition with a song I didn't want. Reception sometimes stunk. If everything went right, the overall quality of the recording was still inferior to what you'd get if the single or album were just bought outright.
In the 80s, DRM was naturally built into the inconveniences of the technologies of the time. Now that technology has solved for those inconveniences, we find ourselves in a fundamentally different situation for both consumers and business.
That's not exactly the way I think of it. I try to be pragmatic about my tech choices, even if I might be wrong at times.
To pick on your NoSQL example. There was one project where I had a large set of records which were all JSON in a text file. There was no one set structure for it. Attempts to set up proper MySQL tables for these records didn't work out so well. It was only after the pain of trying that I decided that MongoDB made more sense for this "collection of documents".
Nope. jQuery came first. For me, it was a matter of spending a few years in Java shops. Most of the work was so server-side focused that I ended up forgetting a lot of my Javascript.
After leaving my last job, I decided I needed to update my skills and Angular seemed like a good road to go down. It was only recently that I decided to return to the old jQuery well to see what I could do with it vs. Angular. I'm glad I did.
I almost went down the event delegation route. The only thing that stopped me was having stumbled upon a tactic that happened to work where I just attached individualized event handlers one at a time. I appreciate the input and will make sure to give event delegation a second look.
>> Seems that SV and Stanford could do a lot more to fix the issues closer at hand in the Bay Area (homelessness, unaffordable living, rising inequality) and the US in general before solving all the worlds problems. Lead by example sort of stuff
Speaking as someone who currently struggles financially, one of those three things is not like the other....
Homelessness and unaffordable living are things that could potentially threaten me personally. Rising (income) inequality does not. There are bonuses and fat paychecks being received all the time by upper management in a casino nearby where I live. Those well-off managers are not the sort of things that are worth losing sleep over.
>> The true roots of liberal arts (which used to include everything from astronomy to mathematics to botany) lie in creating a well-rounded, educated, sophisticated person.
That's fine so long as you actually want to become the person that liberal arts education strives to create. That archetype is a lovely justification for four years and the student loan equivalent of a 2016 Porsche 911.
The instance or the archetype, on the other hand, is not so nice. If somebody ever called me "sophisticated", I would assume that they were being sarcastic or condescending. If I called someone else "unsophisticated", that would make me look like an elitist jerk.
As for being "well-rounded", liberal arts college education is both redundant and contradictory. It's redundant because we already have K-12 education to "broaden horizons beyond one's comfort zone". It's contradictory because the whole idea of college majors pushes students to be LESS well-rounded in favor of a specialization.
> The fact that I didn’t really know where it would end up meant that I was perhaps more open to outside suggestions and influence than I would have been if I had a very good idea of what I wanted to accomplish.
Not sure if I'm projecting or not but I think I've noticed this too. When I do projects that have some kind of grand goal, few people seem to care and I find I work mostly in isolation. Lots of pride and not a lot of fun.
On the other hand, when I do a project where the thinking is "Let's screw around, quickly throw stuff out there, and see how people react to it", I tend to get a lot more interesting feedback.
Even for smart people, there's something about a friendly game of "idiot ball" that seems to attract other people to come out and play too. Torvalds probably plays that game better than most.
That is a problem. When I first joined Linkedin, one of the first questions I asked openly was about the difference between "pass by value" vs. "pass by reference". There were some good people in those forums.
Over time, I'd get all these tech recruiters whom I've never worked with in any context yet wanted me to be networked with them. A few I said yes to though I never felt very good about it.
As Linkedin requests by Linkedin and email got more obnoxious, I became less and less inclined to have any honest technical discussions that would expose my ignorance to a more and more recruiter-centric audience. I felt better posing those kinds of questions on StackOverflow or even Reddit than I would on Linkedin.
Eventually, I did delete my Linkedin account completely. It's funny. Even unemployed, I don't miss it at all.
"If you're over 25, chances are your peers don't play Minecraft. I'm over 25. Therefore, I'll play Minecraft when more players are established working age adults."
Good luck with that. In the meantime, my age 40+ wife and I have Minecraft mountains to craft into beautiful and creative castle homes.
The move of reduce to functools makes sense. But it's also inconsistent. map and filter should also be in the functools package tools right alongside partial and reduce. But instead, they're in __builtins__ because .... they're more popular I guess?
Environment context switches can have cognitive load too. Going from Win 8 to Cygwin is like that. So is Win 8 to a Linux VM.
That's probably one of the biggest reliefs of the Linux switch as the host OS. To work with a vagrant box or ssh into a cloud server actually requires LESS wrestling and tweaking with the host OS. The transition from one context to another is a lot smoother. So that's one less distraction when it comes to the actual projects I'm tackling.
I know what you mean. Sometimes, though, nonconformity can be done for practical reasons. It's not always about being different for the sake of challenging the status quo.
My landlady ran into a problem with her Windows 8 machine. To fix it required sending it to a PC repair shop and spending the 80 bucks for them to look at it and get it back in working order. She ended up being without her machine for a few days.
Then there's me. When Windows Update bricked my Windows 8 machine, I checked my options (and my bank balance). Couldn't afford the PC tech. So I grabbed a Linux Mint DVD I had handy, salvaged the files I wanted to keep, and replaced the operating system. I was without my machine for less than 24 hours.
Sometimes, the "nonconformist" choice IS the path of least resistance.
At my last job interview, the "what do you plan on doing 5 years from now?" question came up. After talking up things that interested me that could fill 5 years of time, he asked me about management aspirations. I confessed that I had no personal interest.
He followed with something about how he wished it was "realistic" for himself to stay in non-managerial roles. Apparently, there are a lot of programmers out there that feel some kind of pressure to move into management at some point if they want to stay in the I.T. game.
>> hosting is often one of the biggest expenses for early stage companies.
I don't understand this claim, at least when it comes to services like Digital Ocean and Linode. Maybe it's a statement made out of selection bias. Yes, Ycombinator batches have had their share of hyper growth startups. Yes, hyper growth can lead to scaling challenges and expenses.
That being said, it strikes me that most early stage (or any stage for that matter) tech companies do not and may never have that kind of problem. If I had to venture a guess, the normal case for tech startups is closer to the SaaS company with a few hundred business customers. For these more common cases, it's hard to imagine server costs on Digital Ocean running much higher than what you'd see in a cable internet bill.
>> First, can’t practice itself blind us to ways to improve our area of study? Research reveals that the more we practice, the more we become entrenched — trapped in familiar ways of thinking.
The only way practice traps you in familiar ways of thinking is if you focus practice only on the things that are familiar to you. Letting Anki help schedule your practices is a way to avoid this. Here is what I do.
- Review phase: Do exercises based on whatever is up for review.
- Attack the weakness phase: Spend extra time reteaching yourself the stuff one you feel you did poorly on.
- Project phase: As you work on interesting challenging projects, add new Anki cards as you encounter and learn new things.
It's a good technique which I think could be accessible to a lot of children. Let them choose the area of interest. Just instill in them a sense of discipline in whatever area THEY choose to pursue.
Yes, you do need to be likable to get hired. Speaking as someone "born without social genes", I can accept this.
In a way, this is a good thing for me. Getting a job isn't part of the equation. There is only one good reason for me to get better at my tech stack. It's because I want it to be easier for me to make good software.