HN user

riboflava

153 karma
Posts0
Comments82
View on HN
No posts found.

What sort of help would you want or expect? A severance package or help by having the employer pay a recruiter to pimp the former employee? Or something else? In any case I'm totally fine with the idea of no help being offered provided such an exit clause is not part of the contract of employment the employee signed. If you want some specific sort of help from your old company in the event they fire you for cause, require that to be in the contract before you accept employment.

Practice your softer skills for interviewing. Do you get anxiety over other aspects of the interview, like the fact that there's an interview itself? Work on that. Many times candidates get hired even if they bombed some aspect of the technical portion of the interview, for various subjective reasons. (Also consider asking for a take-home problem where they give you 2 hours or whatever to email back the solution. It can help if that is solid but your on-the-spot whiteboarding is shaky.)

Also consider an SDET role, those can sometimes be easier to get and then you work internally on removing the T if you really don't like that sort of work.

Investing for Geeks 10 years ago

Have you looked into commercial real estate at all? One of the factors that scares me off from residential real estate is that one bad tenant can really screw me over, especially as I'm just getting started. It intuitively seems like if you can get a business to pay rent on a property instead you're less likely to have a disaster situation...

For me, age 26, I'm already slower than I was when I was 18. I write better code though and can wade through harder abstractions, so on hard, novel material I'd likely win against my old self. Still, I really detest the "work" aspect of work which I don't wake up excited to do, so my plan that I'm on track for is to be "retired" by 32. Why slave until I'm 50? I've even considered depleting my savings earlier on to take a couple years off and then come back, delaying "retirement" by a few years but potentially making the "come back" slog much more pleasant. (I don't think I'll ever master the tricks other, often older, people seem to have about becoming excited to do even the mundane or just being able to plow through it regardless of 'motivation' or 'pleasantness'. My mother basically worked her whole adult life until she died, I don't understand how but sometimes wish such a mindset was more genetic.)

I go back and forth on the singly-called function as a code smell. It really depends. What annoys me are the private method refactors that then can't be unit tested unless the 'private' keyword is removed.

For an instance of how it depends, see the classic Forth example for implementing a washing machine driver:

        ...
    	: RINSE  FAUCETS OPEN  TILL-FULL  FAUCETS CLOSE ;
        ...
    	: WASHER  WASH SPIN RINSE SPIN ;
Then a single call to WASHER is all that happens when the user presses the start button.

Function calls should make things clearer, not less clear because of some other principle (like DRY or single responsibility or testability etc.). That's ultimately where I think the JavaLand culture has gone wrong, all these abstractions (many of them caused by being forced to live in a Kingdom of Nouns) that are sometimes quite useful in the large are always a pain in the small, but many times the small is all that is needed. Big projects are slowly learning they don't need to be so big, they can instead be a set of independent smaller projects, but it'll take more time.

It can still be non-obvious with an optimizing compiler, or with non-Lisp.

I don't see the point in having beginning students think about tail call optimized recursion vs normal recursion unless they're going through SICP. In the end it can totally be a compiler thing. For instance, GCC can optimize this:

    int factorial(int x) {
       if (x > 1) return x * factorial(x-1);
       else return 1;
    }
into this:
    int factorial(int x) {
       int result = 1;
       while (x > 1) result *= x--;
       return result;
    }
(http://ridiculousfish.com/blog/posts/will-it-optimize.html)

As soon as you have to buy something that takes up physical space, the "skills", or maybe better put the "mindset", becomes quite different. I don't think I can explain it very well. In principle someone who can understand a flow diagram (which is, to only mildly exaggerate, all a circuit diagram is) and master the complexity of getting a web application published online should be able to do what you did with the $3.50 board. They almost certainly could do everything in a short amount of time at a workshop with all the hardware provided and a printout of instructions. But once they're home, without a similar set of instructions for "buy this here, do this, do that, to accomplish this" it's unlikely you're going to see much robotic/smart-home creativity even after a workshop. Meanwhile unlimited complexity and creation can be had in the web app realm without having to leave the comfort of your keyboard, or even having to buy anything.

I just remembered this post which I think helps better capture some of what I'm talking about: https://plusbryan.com/its-just-wood But I think there's something else besides avoiding things that are mysterious. I think it has something to do with the physicality of the thing. At least something else is needed to understand the weird reluctance with working with hardware that a lot of software-only people have, who differently from the general public (who can't even use their computers) are sharp enough to battle with mind blowing complexity and solving mysteries of bugs or how new languages or APIs work every day behind their screens.

I'm a fan of the out of the box immutable data structures and like the sugar, though you can get both in Lisp if you want. (Presumably Racket as well.) Lisp has everything, and more, though sometimes you have to work for it. I do enjoy Clojure's interop with the JVM, but that along with the community producing interesting things (this includes ClojureScript) are the primary reasons I care about Clojure at all. On the nice-to-work-with side of things I really enjoy that it was designed by one person rather than a standards committee from decades ago, it feels fresh working with it, but if you stranded me on an island and gave me one language to have for the rest of time I'd pick Lisp for its power.

Giving specific benefits often ends up going along with requiring specific proof of need for the benefit. I had classes in college where attendance was part of the grade. Additionally if you had to miss a class due to being sick, you had to produce a doctor's note. The attitude for myself and others was largely fuck that, I'm not going to the doctor for a cold or flu. I'll just come in and infect everyone, hopefully the administration/teacher who introduced such a policy...

"Work", yup, I see this too. To fully pull it off though you still need to be somewhat responsive to emails / IMs for the 'normal business hours'. Sometimes it's worth burning a PTO day to just go back to sleep, sick or not, and really start the day around 3pm without thinking about work at all until the next day's morning.

Vim 8.0 released 10 years ago

Every so often someone will do a "what editor do you use?" poll here, vim is the top choice. Maybe it's not the most common in the industry, especially if you include the hordes of Java or C# only developers, but at least among HN devs it's the #1 pick.

Vim 8.0 released 10 years ago

Not the parent but I have the same reaction, and I wouldn't describe my experience in big IDEs as "comfort", just less pain. I use them with Java only out of necessity, and only on huge projects I didn't have a part in designing up front.

Every other programming language I've used a lot of (spanning from assembly to lisp) I've found it most pleasant to work in vim, even in large projects. I suspect the only other environments I'd want an IDE would be for iOS development and C#.

It's still a lot better than not having the source. There are tons of other benefits too. The one downside is CPU cost to compile everything yourself.

They're going to have to play that game anyway since the compiler/interpret won't spell out the exact issue every time. But they'll get through it anyway because their goal is something else rather than that game. A lot of learning comes from getting past stepping stones, but targeting a stepping stone as an explicit thing to learn and drill on is a poor plan.

I am a fast webpage 10 years ago

If you own the hardware I imagine much of your PHP/html stuff will be served from the file system cache much of the time so you probably wouldn't see much benefit...

No, it was just the last gen of consoles lasted so long. The bigger benefit is on the dev side by having a single hardware target and also hardware that can be put together much more intimately than a PC to really milk its performance. Though that could also benefit consumers because they could get the best performance experience for the cheapest amount and it would take PCs time to catch up in either absolute or affordable performance. The last gen of consoles was arguably the last gen, the current gen has been much less console-like in many ways. (You could build a PC matching the PS4's capabilities on the PS4's launch day for less money. The xbone almost shipped without disks.)

iPhone 7 10 years ago

It depends on the headset. Of course with an audio jack the other end would have to be doing something very wrong to induce a comparable lag.