Hacker Newsnew | past | comments | ask | show | jobs | submit | keefe's commentslogin

For me, keeping it simple - I just maintain a routine. My lunch time is for exercise and I don't compromise on that. I figure out where 1 mile is and do my best. When I was 25, it was 7 minutes at 40 I'm happy to crack 10 and then there's another mile back. That's 2/3 of a 5K. If I'm tired, sick, hungover - then I still go. I'm not reachable at lunch and my coworkers get that. I try to do some weights too, but it's the routine that matters, imho.


I worked in a semweb company ~10 years ago - https://jena.apache.org/ as a general starting point is a useful library. I remember distinctly OWLIM https://www.w3.org/2001/sw/wiki/Owlim as a great triple store.


I did some front end work as a primarily back end guy - I've found that doing some nodejs has helped my core javascript altogether. You have to let go of your ideas about classical languages - but consider ES6, at least you get the class keyword back. The concurrency model is that you have a single thread with an event loop, which never interrupts segments, it waits for an asynch call with a callback or for the function to end. So, your problem is event loop cleanliness vs mutex management.

I would focus on one of the big view players - React or Angular, from facebook and google. It seems like the old school jquery dom updates is out of fashion now. I wouldn't worry about the toolset, it sucks - webpack I guess has some uses.

I would focus on the core thing, e.g. React and javascript fundamentals. Tooling and stuff will follow along once you get a job in it.


this is a good idea, creative commons so it's ok to scrape I think...

I'm interested in using nodejs to replace bash scripting, I loathe doing any kind of logic in bash and I just want to excise it. No maven or gradle for build tools. I'll revisit later.

Good domain name as well, easy to memorize, good job.


What can you show to prove you can program? Basically, you have to prove that you're a better bet than somebody local. So, build something on your own and leave it open source, then find postings that use those technologies and apply.


In broad terms of course emotional intelligence is very useful when interacting with other humans.

to pick at the 1-2% numbers a bit the impact of IQ depends on the individual; physical size/height is only profoundly important for the success of certain people - athletes primarily. however, both also have correlation with success. I'm sure the paper was more careful than this article.

IQ is often used as a proxy for intelligence, when in fact it's just a set of standard metrics that nobody thinks is that good beyond a certain point - after all the term comes from early attempts to quantify developmental delay. Leaving that aside for a moment.


I would probably buy a house in the outskirts of seattle or denver for maybe 250K - tons of houses around 3beds, minimum 1500 square feet, if you expand the search. Then, start a private repo doing an MVP based on my open source project, then try to find a product manager type to bootstrap a startup, somebody hungry who would live in the 3rd bedroom and go full throttle for half a year or so, then if that fails when I'm down to say 100-150K, I put that money into TBills and get a job if I can't find revenue or funding.


You're talking serious "outskirts" of Denver for that price.


653 on Zillow all throughout the metro area, for 3 bedroom houses over 1500 sq feet. SF really distorts our perception of reasonable prices.


I tend to agree with your points here - if you end up in a conversation with that guy, I would also add:

1 Java does get concurrency right and the trade-off made in going to a single threaded nodejs process will appear (as I have bitterly learned) as performance becomes important. Keeping a sanitary event loop (think about large uploads, downloads) turns out to also be a difficult problem and one with less tooling and experience.

2. Allocate Direct can be used to get off heap memory, I don't recommend doing this, but if you really need to worry about your GC pauses, then it is very possible to use java without it and I have seen that done.


> 1 Java does get concurrency right

Strangling yourself with mutexes on shared memory is not "concurrency done right".


no that's concurrency done right, used wrong. What do you want, immutable structures or event loop?


Parallelism using message passing. Writing with shared memory is so easy to mess up. Been in both worlds, one is sensible, the other is atrocious.


I think you've highlighted the answer there - that working with shared memory is easy to mess up and that immutability and message passing both provide some attractive aspects. The thing is, not every problem is solvable (and to a much larger extent, optimizable) without some concept of concurrency and all of the problems of mutual access that come along with it. I don't think the mutual exclusion problem is typically that bad with modern java - profilers let you visualize your locking issues, atomic variables let you squeeze cycles and really the correctness problem is not that hard, it's the performance optimization problem. I would rather my problems be explicit and in front of my face than hidden in some detail about event loops, method invocation time impacting other method invocations and so forth. The other important point is that as soon as you get into working in a clustered environment, you start having to think about distributed locks and concurrency when there is not even a shared clock to rationalize things. So, for product oriented engineers, great go use nodejs and you can write JS on the front end and the back end and it will be absolutely tremendous guys, I am telling you :) If we want to talk about judging languages on technical features (as this article starts the ball rolling on) then we can't just bandaid real problems with easily approachable solutions and write off any actual complexity as out of scope.


> I don't think the mutual exclusion problem is typically that bad with modern java - profilers let you visualize your locking issues, atomic variables let you squeeze cycles and really the correctness problem is not that hard, it's the performance optimization problem.

This only allows you to strangle yourself in a more CPU-efficient manner.

Locks et al. are low level interface, too low level for a language that pretends to be a high level one (like Java does).

> The other important point is that as soon as you get into working in a clustered environment, you start having to think about distributed locks and concurrency when there is not even a shared clock to rationalize things.

Once you go into clusters, you loose your precious notion of shared memory anyway (unless the distributed shared memory is still a thing; I haven't checked lately, but I thought it was an abandoned paradigm).

> So, for product oriented engineers, great go use nodejs and you can write JS on the front end and the back end and it will be absolutely tremendous

I don't know why are you implying that I either work on frontend, with web applications, or Node.js. I do none of these.


>This only allows you to strangle yourself in a more CPU-efficient manner.

I thought you meant losing cycles due to blocking or spinlocks when you said strangling.

>Locks et al. are low level interface

Actually no, this is the world of multiple cores. Threads are the most trivially accessible way to parallelize activities, so they are just a modern primitive.

>Once you go into clusters, you loose your precious notion of shared memory anyway

Zookeeper. Distributed clocks and sequences and all that often require a few bits.

I was just making fun in the last sentence, if you didn't catch the linguistic joke about populism in my word choice. I'd guess you work in erlang.


> Parallelism using message passing.

So... both immutable data structure (messages) and an event loop (message queue/reader).


maybe you're measuring incidence rate without taking into account population size? The fact that there are a lot more felons who patronize starbucks than my local coffeeshop doesn't say anything about starbucks without another datapoint.


I'd recommend setting up lambda/api gateway/cloudfront for a serverless application, there are lots of guides out there - you want to do something that will be relevant when you are done learning, not necessarily just something relevant now.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: