__strisk's comments

__strisk | 8 years ago | on: The Benjamin Franklin method for learning more from programming books

Most programming books do not let you pause to reflect. They just go on and on. Consider Fluent Python by Luis Ramalho. If you read through the book, you will not get much out of it. However, if after each chapter, you try to come up with a practical application of the concepts discussed, then you will have a better chance at building a mental model around the topics. The code presented is just a solution to a problem. You need to come up with more problems. Basically, don't be a passive learner. Be an active learner.

__strisk | 8 years ago | on: Effective Engineer – Notes

Reading code is the equivalent of looking at solutions for math problems... is it more helpful reading the solutions without context or with? You need to see the original problem, and how the solution came about in response to that problem. In regard to this, I would say, pick a problem that has a solution (walkthrough, if possible) available and then attempt to solve it and then honestly check your solution against the given solution.

__strisk | 8 years ago | on: How I learned to program

Yep! I also like the fact that it's just plaintext with no interspersed meme/pictures. Just straight information.

__strisk | 8 years ago | on: A Letter from the Publisher of Nautilus

nautilus was the first publishing company that I subscribed to... Although I feel bad for the company, I feel worse to have given money to an organization whose owner is gambling the livelihoods of their employees.

__strisk | 8 years ago | on: Ask HN: What notes app do you use?

I found jupyter notebooks to be a good note taking medium (its markdown!). I usually rsync my notebooks to a remote server that I can access anywhere. One thing I find frustrating is that the json is difficult to manipulate if you don't want to spin up the jupyter notebook server.

__strisk | 8 years ago | on: Airbnb dominated by professional landlords

God I hate those backyard cottages, did you label yours as a "casita" too? Some AirBnB hosts literally go to home depot, haul a shed, plant it, add crappy insulation and list it.

I actually find that to be the worst aspect of AirBnB, if I go to a hotel and I do not like my room I can switch it. If I use AirBnB and the place sucks, well, I'm stuck. Unless I want to go through a lengthy customer service battle.

Listings managed by professionals are pleasant on the other hand, I honestly do not want to check-in putting up a front after lining my "host"s pockets. I pay for a service and receive service. Let's not pretend they're doing this for any other reason. AirBnB damn isn't Couch Surfing.

__strisk | 8 years ago | on: Ask HN: What's your process for learning?

we think alike! I have this process written down and pinned to my wall. I have been refining my thought process regarding learning. currently I have:

1. try to find a overarching synopsis of the main topic or goal. This can be done by looking at a summary article or by skimming the summaries of a textbook or by checking an expanded table of contents

2. Extract major topics and write these on a spreadsheet/graphical program/(giant) index card/ paper. If you used index cards or a graphical program or index cards try to discern dependencies between these topics by using the gui tools or simply laying out index cards on the ground.

3. Find resources that explain the topics. The resources do not need to be from the same resource. One source can explain topics a,b,c well but not d. You can use another resource for topic d.

4. map projects to topics: extremely important. After finding out the topics and associated resources, you should be able to come up with applications of the topics. These could be as simple as solving problems from a textbook or they can be grand like building a motorcycle (actually, that's too grand). Keep the primary goal to be learning the topics you set out to learn or completing your goal.

5. execute the projects

6. check off topics as you encounter them

7. reflect on the results of the project or application

8. if you encounter difficulties find more resources and drill down on topics you found interesting or challenging.

Not perfect, but its working well for me. You can start from practical applications or theoretical concepts. Books are great because they contain a structured approach to a topic. ALWAYS MAKE SURE THE BOOK HAS PROBLEMS THAT HAVE (some)ANSWERS!! You should be able to do quick knowledge checks.

topic based learning is more difficult and I feel like it's like making your own sandwich vs buying a prepackaged one.

__strisk | 8 years ago | on: Ask HN: Are there any courses/course materials that teach oop concepts well?

From my research so far, here is what I have found...

the main topics that one should learn are: * some tidbit of history on why oop * fundamental object oriented concepts: inheritance, encapsulation, and interfaces * network of objects and their restricted interactions

* modeling a domain using objects * documenting objects and their interactions * how are objects represented in memory * SOLID principles * solutions (design patterns) to common problems * concurrent design and thread safety in oop designs * tools in oop design (CRC cards, UML, etc.) * actually making projects and laying out the code in an implementation language.

Here are some books I seem to like so far.

books:

Holger Gast - How to Use Objects: Code and Concepts (https://www.amazon.com/gp/product/0321995546) This book seems to be what I was looking for. It has an integrated practical approach using the Eclipse source code as examples for various object oriented concepts. I have cross-checked various sources and it seems like this book covers all relevant concepts including SOLID principles.

Bertrand Meyer - Object-Oriented Software Construction https://www.amazon.com/Object-Oriented-Software-Construction... This seems to be a great reference. However, I haven't looked too thoroughly into it. I found a nice quote though.

  "Today, no one will call security if one of the cocktail guests 
  declares object-oriented tastes. This is the buzzword effect, which 
  has been dubbed mOOzak: the omnipresence, in the computer press, of 
  O-O this and O-O that, causing a general dilution of the concepts. 
  The words flow so continuously from the loudspeakers — object, 
  class, polymorphism... — as to seem familiar, but are the concepts 
  widely understood? Often not." (29.1)
only found one course that I would probably refer to... courses: https://web.stanford.edu/class/archive/cs/cs108/cs108.1092 This has great course notes and projects to implement using object oriented programming.

__strisk | 9 years ago | on: Starting an Internet Service Provider

this is awesome. I was in a similar situation several years ago using crap like Clearwire, Hughes Net, and some mifi hacks to get internet to a dislocated house. I ended up researching and finding out about ubiquiti radios and found a way to hook up comcast to a garage by the road. the distance is about quarter of a mile from the modem location to the house. I went from having the most miserable internet experience (SATELLITE INTERNET SUCKS), to practically being in internet heaven.

Here's the kicker. Comcast was willing to drop a line to the house for around $15,000. No thanks. With two m5 ubiquiti radios and 100ft of ethernet cable, I solved the problem spending less than $300. It would have been nice to have a direct connection, but I'd rather save some money.

The radio's have been up for 5+ years now. I had a problem with one of the POE adaptors once, but other than that I think these devices are cost-effective and robust. I believe these radios can help bring about internet connectivity for a large portion of the unserved population. Easy to setup. Cheap. Robust.

__strisk | 9 years ago | on: Software Engineering at Google

Is the practice of shoving all disparate pieces of proprietary software (or individual projects) in the same repo a common occurrence? I have found that pulling unrelated changes just so that I can push my changes is an inconvenience. Furthermore, tracking the history of a particular project is confounded due to unrelated commits. I am sure that their vcs (piper?) makes this a feasible task, but for git, it seems like it would suck.

The article posted by kyrra, mentions this.

Given the value gained from the existing tools Google has built and the many advantages of the monolithic codebase structure, it is clear that moving to more and smaller repositories would not make sense for Google's main repository. The alternative of moving to Git or any other DVCS that would require repository splitting is not compelling for Google.

It seems like they have just too much invested in this "shove it in the same repo" style. Or is this the more appropriate way to do things in a large organization?

__strisk | 9 years ago | on: What a good commit message looks like (2011)

don't use git commit messages as "dear diary" sort of things.

For example:

"I fixed the button issue on the homepage. Still, need to center the title."

would be better written as:

"fixes button issue on homepage"

Always think about what that commit does to the codebase. This is obviously for single-line commits. I suppose it would be okay to "dear diary" in the commit body. You can provide rationality or context in the commit body.

__strisk | 9 years ago | on: How to Become a Data Scientist – On Your Own (2015)

disclaimer: you may need to have a masters in CS or Statistics to be taken seriously. For every success story you hear of someone "doing it on their own", scrutinize it enough and you'll see that they had either a decent educational background or support from a career facilitator (bootcamps).
page 1