And tbh: money is not the issue. I don't like the 'apple tax' but they are comfortable wayyyyyy up in their trees... and macOS / iOS dev env is leverage.
I'm on the same boat. Except I have a chromebox as guinea pig.
I've seen people reporting this transition as a 'surprisingly good experience'. So here's my 2 cents on a 30 minute run (amount of time it takes me to setup a new macbook):
1password: there are options, but omg it just works...
xrandr: I knew things would get hairy when I found myself looking up how to dual monitor + rotate on i3wm
fonts: I don't know what it is, but seems different
I know your experience will vary from distro to distro, but that is exactly the point: it's hard to find that happy place.
I'm sure that sticking to certain distro, under certain hardware, things will go fine. But that at point I ask myself: Sooo... this seems similar to mac ecosystem, why not pay the apple tax and move on?
I don't think 2017 will be the year of linux on the desktop (or any other prophecy along those lines), but for sure it will be 'the year I reconsidered linux on the desktop'.
The Linux experience I saw so far would be enough for me to be productive with some known rough edges that I can either help fix or report.
Worst case scenario I get a macbook pro during the fall update ;)
> xrandr: I knew things would get hairy when I found myself looking up how to dual monitor + rotate on i3wm
I had a Dell XPS 13 connected to a Dell monitor running the stock Dell Ubuntu distro and still had to use arandr with config files when I switched from desk monitor to laptop to conference room.
This was a known issue a couple years ago. Maybe it's resolved now.
Does the advice "be yourself" mean "do what you would tend by habit to do"? If so, I think that would probably have the same result it's had in 2/3 dev jobs I've held: me getting fired.
I originally thought I had impostor syndrome too, since it was constantly talked about at school. I should have mentioned that I've been fired from 2 dev jobs I've held before this, so apologies for that.
Explicitly asking for feedback is a good idea, though I worry that 2 weeks is too infrequent. Would every 1 week be annoying?
I do probably need to spend more time figuring out the root causes, though perhaps that is better done by talking with a friend rather than just thinking things over by myself. My current understanding is this:
* When I'm confused about what a task really entails or what tools I can use and I try to get people to resolve that ambiguity, I sometimes cannot persuade them to do so.
* Sometimes I don't recognize that I lack the knowledge/documentation to do something and instead approach it with an "I'm smart and resourceful; I'll figure it out" attitude. By the time I convince myself that I need to ask for help, I'm embarrassed about not having made progress.
* I've gotten feedback that I "try to understand the universe" when debugging an unfamiliar system. That I should be more focused in my search. The difficulty here is that, when I'm working with an unfamiliar system, I don't know the lay of the land and so I end up spending a long time trying to get a sketch of a mental model of it because, well...how else could I solve problems?
* As my username suggests, I get distracted easily and sometimes find myself losing 5+ hours to distraction. I've been able to fight this to some degree using SelfControl.app and by making sure I get good sleep.
* I don't know how to come up with task estimates that have any relationship with reality. I've said "I don't know how to give software timeline estimates", but often get pushed to give a number anyway. I really really hate lying to a coworker/supervisor's face and wish I could find a way avoid it. I've tried to learn how to do estimation and bought a book on it, but all of the advice seems to focus on projects on a months-long scale rather than things that should take a couple hours.
Well the things I listed in my OP are my concrete ideas for how to approach these working on these things. If you have other concrete suggestions, I would love to hear them.
As an example: The reason why I focus on studying rails is that all of the debugging techniques I know about involve getting a better idea of the system at some layer of abstraction. I suspect that my best shot at getting better at debugging is to know the framework the code is written in very well and thereby be able to understand the codebase more easily.
For a problem like "I can't get clarity around what we are trying to do here.", it seems like there aren't any books on the topic. Thats why I figured that finding a mentor would be good.
The problems you describe sound like communication issues, not technical issues. Specifically, it sounds like you have a real problem with asking for help when you need it. Your time might be better spent reading a book on effective communication or perhaps taking a course at a local community college.
Everything I use works, hardware media keys, brightness controls etc. The only thing I am not sure about is bluetooth as I don't use it.
I am not the biggest fan of the XPS 13, the few I have encountered all seem to have hardware issues of some sort. I bought one for my partner about 2 years ago (the developer edition with Ubuntu) and it had horrible screen whine that Dell wasn't interested in fixing.
In my mind, if you have to ask for a regular raise, then your company isn't treating you fairly in the first place. It's one thing to ask for a change in your salary because you feel you're underpaid, but it's worse when your company doesn't even have an annual evaluation and accompanying raise.
Know that you deserve it. I keep an up to date LinkedIn profile, and when recruiters contact me I ask them if the position they're hiring for will pay more than a certain figure (my benchmark is usually 50% more than my current annual salary). Your benchmark value may be higher or lower, but either way it should help you gauge market conditions.
Also when you're taking a broader market into consideration, be sure to consider quality of life. Yes I may get more money somewhere, but it might be a miserable product/team/culture which reduces the value of that position. Or I might have a shorter commute, fewer hours or more vacation, which would add to the value of the other position.
I search for other, comparable positions, and see what I _could_ get if I jumped ship. At my previous job, I asked for a raise when I realized I was being paid significantly below market rates. They gave me a decent bump, but not enough for me to stay at the company when I got another (higher) offer.
11k employees, 970 million daily actives, one of the companies "changing the world", and yet people say you don't know anything based on sporadic outages.
The big HUGE win for lua in this, in my view, is the plethora of packages on luarocks. With simple scripts, as presented in this blog posts, sure a javascript subset is fine. But suppose you want to interact with redis from your script? Where's the c ffi interface, and a prepared package you can use from nginscript? Grap hiredis bindings from luarocks, and your set.
Second, great yet another javascript implementation. They're very open about supporting a subset out of the gate, who knows how long it would take to reach parity with es 5 or 6 even?
I agree with what you said -- although the node/npm ecosystem is much bigger. I'm not sure how it works with the nginScript subset.
But network-related libraries shouldn't be pulled from luarocks (unless maybe they have resty in the name). One would want to use lua-resty-redis and not hiredis within OpenResty. The 'resty' libs use the nginx cosocket library so work asyncronously with nginx core. hiredis would block the worker threads.
Ah thanks, I was not aware of that. Also, unless they code nginscript to specifically support googles V8 api, there's no reason to expect node or any of it's packages to work with it.
Not asynchronously, but in a non-blocking fashion. Good thing is that Lua socket and ngx.tcp are quite compatible. But C libs with their own IO not - well they work, but they will block the nginx workers.
I think this depends on just how compatible NginScript is with JavaScript. Will it be possible to pull in the ffi node module, or one of the many node redis modules?
(puts Stallman's hat on) This is not free as in freedom.