After interacting with a few lawyers I realized I am severely lacking in communication and people skills. Their emails were inviting but not over the top. My emails were either too curt or too verbose.
When talking to people face to face, I also work on adding value without rambling. Breathing more helps a lot.
And for fun I'm learning how to draw. Here is some of my work.
Yes! I heard draw right is a really good book. But learning how to draw is like learning how to program: too many resources can cause analysis paralysis. I really just need to shut up and draw
The first thing I did was draw the alphabet every day. For example, I would draw something that started with the letter a, then the letter b the next day, etc. It took me more than a month to finish but I saw a huge skill improvement from the later drawings.
How are you working on improving your written communication skills? I think that's something that I and others have lots of room for improvement in as well.
3. Pay attention to the people who write well in your life. When you read an email that feels well written try to figure out why you like it. And use those elements in your future writings.
I thought I knew a bit about woodworking because of my middle-school shop class. Turns out it's an extremely precise and technical activity, packed with lessons in engineering, measurement, statistics, and physics.
I'm really excited to mention it to you guys because I found learning woodworking is a great application of modern technology: I watch youtube videos on it at 2x, and can basically google any problem I encounter. I often say to my friends: watching youtube at 2x is my superpower.
Some wood, a hand saw, a hammer, sandpaper and a box of nails.
If you have a Rockler Hardware or the like in your area, visit it for ideas.
I grew up around woodworking because my grandfather was a professional furniture maker. I rediscovered it about 15 years ago by making jewelry boxes from tree branches and cut off bits of exotic woods. It can be anything from a fun, freeform hobby (making boxes), to an exercise in proper engineering (building a pole barn).
I've been slowly building an 8x12 shed as time permits. I really need to get it done by summer so I can move onto erecting a pole building from cut-down trees.
I hope this isn't flippant, but have you read the Perl regex man pages [0]? "Perl compatible" regexes are very common, and are explained _really_ well. Similarly, the Perl Cookbook (from O'Reilly) has a whole chapter on regular expressions -- even crazy ones like detecting US phone numbers (hard!) -- with explanations. That chapter is QUITE good, and I highly recommend it even you don't write Perl.
For your specific problem at hand, I assume you want to replace spaces with a tab character.
In Perl, you could do:
# replace four spaces with a tab, globally
$line =~ s/ /\t/g;
You can do this directly on the command line as well:
I have a gist [1] which has very slightly more comments, if you prefer. To paraphrase XKCD, there are now N+1 regex explanations, and I apologize that mine is comparatively worse than all of them. :)
Not helpful at all for learning, but I've found RegExper[1] is fantastic for visualizing existing expressions, particularly ones you haven't written but need to understand or edit.
Symbolic logic. Years ago, I did a paper in logic which my professors initially took to be of publishable quality. They took a closer look and decided that I needed to clean it up a bit.
I've finished reviewing Aristotelian logic and am now going deep into modern logic. I don't know for sure, but I have a hunch that my paper will be of use to mathematicians.
I've re-implemented the same project using vanilla flux, fluxxor, reflux, and baobab tree. I've come to liking baobab the best, with reflux in a close second.
The flux pattern isn't some total magic and itself hasn't been a revelation, but I've never been able to try out so many different rehashes of the same idea so quickly and that process has yielded a lot of interesting knowledge.
Hey could you provide some resources for learning Distributed Computing using Python. I was thinking of using Go but since I know python to a considerable extent, I wanna give Python a fighting chance for making distributed systems.
I'm not one for reading books I think there's more value in just building stuff:
Check out Prediction.IO - http://prediction.io/ it's an out of the box machine learning server, it uses hbase, but hbase in this configuration is sitting on top of the local filesystem, not HDFS -- so the first task I assigned myself was to learn how to setup hadoop, and then configure HBase to store data in HDFS.
Once I have that, I'm going to use PySpark to use spark to query the data. (Thats where the python comes in)
Another cool project (not related to the tech stack above) is Pyro https://pypi.python.org/pypi/Pyro4 ... this consumed a whole weekend of mine a few weeks back, building a small distributed search engine for querying compressed DNA sequences ... think a parallel boyer-moore. As a learning exercise try doing that, it's great fun!
Haskell, and functional programming at the same time. In school I wasn't properly introduced to it (learned some Lisp on paper, during half a semester, and that's it). It's quite the steep road so far, especially since I can only work on it during spare bits of time.
Me too. I learned the basics at uni in 2000. Had a few plays since but I really need to get stuck in - I want to get to the point where I understand the fancy stuff like Lenses. Beyond the cool stuff I strongly believe it can be really practical and I would like to convince my employer (or any employer!) to seriously consider it for a production system.
You can't hire Haskell programmers by the 40ft container-load like you can with Java or C#. You won't need as many Haskell programmers though. And they should get paid accordingly :-)
Haskell has a duality: It is a nice "toy". I mean that in a good way - fun to play with, enjoyable to code. But also I can see it being a serious contender for writing Enterprise systems where you need clarity, accuracy and readability of business rules.
Haskell functions can extend Enterprise systems in an elegant and powerful way, by adding on rules that are safe because they have no side effects. They can only affect things indirectly through their returned results.
This means the basic Enterprise system you ship can be simpler and then you can customize it more easily and with more confidence. I envisage smart non-programmers can probably write the custom business rules as tight Haskell scripts.
I'm also looking into learning Haskell and I know a very little about functional programming (I'm still in university but I think no one will ever introduce me to that), any advice on where to start?
I've been learning Haskell for the last year and a half, though I've been working with functionally inspired languages for 8 years. Haskell is wonderful, easily the most fun I've had learning a language in 20 years.
I'd advise not getting distracted by monads and other glamorous parts of the language. Monads are pretty abstract, and they won't likely make much sense until you've written enough Haskell to feel the pain-points they address.
I've learned a lot by reading blog posts from these people:
Most of all, I advise not getting discouraged. Haskell has a lot of concepts that seem intimidating. Many times I've spent days trying to figure out what the hell a contravariant functor is, only to get really discouraged. At times I've doubted my own abilities and whether learning the language was worth it. I stuck to it, and a year and a half later I'm pretty damn capable with Haskell (and I know what a contravariant functor is!) and I'm having the time of my life learning more about it.
Electronics. I got started with a spare Raspberry Pi a friend gave me. I got hooked and test as much things I can get my hands on. I now have a BeagleBone Black, a few Arduinos on the way and lots of sensors.
There are a lot of interesting small projets you can do with small electronics.
I've been (very slowly) working my way through "Art of Electronics" for the last few years, and I highly recommend it for the next level of depth below Arduino et. al.
If that wasn't completely tongue-in-cheek, check out Lars Monsen[0] on NRK.no if possible from your country. He's the real deal. Now to look up Survivorman...
I'm working my way through the matasano crypto challenges and learning a lot. http://cryptopals.com/
Also learning Racket through HtDP http://www.ccs.neu.edu/home/matthias/HtDP2e
I had started with Swift, but… not loving it.
There's so much, it's overwhelming sometimes just deciding what to go after.
I have some ambitious goals, including learning management skills and data science, and I thought it wise to bootstrap this by learning about learning.
Very cool. What tooling are you using? I've found the world of FPGA tools to be bewildering to the point that I've abandoned my projects and my Nexys3 languishes in a drawer.
It's still in the idea stages, why my original idea of sending an FPGA doing active video processing would be computationally and energy expensive, where transmitting a low-latency signal to a processing unit on the ground wouldn't cost an arm and a leg. I'm looking at a ZYNQ-7000 board because the free eBook by Xilinx looked very approachable to a newbie at hardware design. If optimized properly, I'd hope to be able to integrate the quadcopter controls onto a better fpga and be a single unit. It's gonna be an all-summer project.
For middle aged person, how about "what new skills are you growing?"
One of the dilemma in learning new skills is there are so many new skills out there and how do you know that spending effort in learning the new skills are more worthwhile than strengthen your old skills? Every person is unique, and depending on popular votes from outside is risky ...
On the other hand, focus on the problem you are trying to attack and work from your existing skills and only learn new skills when it become apparent that old skills are not sufficient, at which point which new skills to learn will no longer be a question.
More often, I find myself developing new skills that are grown from my old ones. In fact, look around, all existing skills were grown from somewhere.
One belief I hold is that I can become proficient in any skill if I put the hours in. While maybe not 100% true in every case, it certainly helps more to think this way than to not.
I first became really convinced of this idea while studying Japanese using Anki. I've been doing that for over two years now, and have reached a comfortable level of comprehension. No plans to stop soon.
I've also started learning the violin recently. It's nice to be able to look at my other skills and realize that if I just put in the hours, I can become as good in this, even though I'm terrible right now.
I'm learning a handful of construction skills while building my own tiny home on wheels. I think everyone should have the basic skills to fix things around their home and or do simple renovations. I installed the last window last week :). Also diving into Python with my girlfriend.
Images of the build.
https://plus.google.com/photos/117374232859136026472/albums/...
I'm trying to decide whether I want my future to steer toward mobile or web development. I've completed the Codecademy JS course but feel like I need to do certain parts of it to really cement my knowledge of it. I'm also trying to build some basic apps in Xamarin.iOS since C# is my bread and butter. I feel like I might struggle with this for some time :/
Outside of development, I'm studying Farsi, getting back into running, and hopefully renew my private pilot currency. Oh, and Arduino :)
That's weird that it's not being shown, I swear my email is there :) My wife is Persian so I want to be able to speak with her family! It never hurts to branch out and be multi-lingual too; I can speak a bit of Spanish and Polish and I'm always looking to expand my horizons as well.
You have to add your email to the profile field, not just the email field. The email field is private and is used by HN for account management rather than displayed publicly for others to contact you.
I'm slowly making my way through the Microcorruption puzzles. The first three seemed easy, but I feel completely stuck on the next ones. It's very satisfying, though, because I feel like I can learn my way through it, and then those will feel "easy" as well.
My biggest gripe now is that I can't rearrange the code + memory windows to be side by side for a large-monitor experience. I feel like that would make it easier to trace program flow.
I'm trying to dive into EmberCLI. I want to get into the whole the 'web via API' mindset and separate things into logical applications.
So I built my Rails 4 API, and Go API, and they're really really fast.
I'm also building my web client with EmberCLI. It's a blast so far as well. I really enjoy the benefits a framework like Ember brings to the table. Structure structure structure. 3 years from now, I want to know my way around the project.
Python more deeply (used it for years but it's a surprisingly deep language)
Few different open source libraries
Some "big data" stuff (using open government data).
Ada
Javascript properly
Non-Technical
Learning to manage pain (recent diagnosis of degenerative spinal condition)
To be a more positive person
Try yoga, go to an easy beginners class at a studio that seems bent on spirituality and not fitness, helps with pain and positivity, programming benefits are more discrete
On the coding front, I'm considering learning Go. Otherwise I am looking at something soon where I'm going to need to learn better management, promotion, networking, and general people skills (in a biz context).
I'm a "just dive in and do something" learner, so that's the approach I'll take with both.
Bouncing between non-MS technologies including Node, Django, Dropwizard, PostgreSQL, NoSQL, etc. I've done this in the past and came out with a decent understanding of Rails and Play! with Scala, but I just haven't found love yet.
I am going to create a Google Voice clone with some additional features. I've been getting spam-called for the past 2-3 months now and it's pretty frustrating (especially if some of those calls are legitimate customers)..
Openstack. Singularly the most frustrating experience of the last year. It's been 2 solid weeks of poor documentation, failing example code, out of date tutorials, and obtuse error messages.
I learned a bit on my own time last year. Check back on this thread in a few days—I'm writing up a post detailing how I went about learning it with links to a whole bunch of resources. It'll probably be useful to you, so I'll post it as a reply to you here once it's done.
I've been really enjoying Elixir – I always liked the idea of Erlang, but became frustrated in practice, and Elixir feels like it has been designed around my frustrations.
Started with Hacking, the Art of Exploitation. Finished, but realized I was in over my head. Taking CS50x through edx for C programming + a Udemy Assembly class. Ultimate goal is to make progress on https://microcorruption.com
I have a 9 month learning plan worked out with books, online courses, and other Hacking tutorials/projects.
on skill which i love to master is "How to build a good design" it can be web page, mobile screen. whenever i look at web page or apps by Google it always exit me because they do everything so perfect
When talking to people face to face, I also work on adding value without rambling. Breathing more helps a lot.
And for fun I'm learning how to draw. Here is some of my work.
http://www.redbubble.com/people/kelukelu https://twitter.com/KeLuKeLuGames/status/553404094958694400/...