HNHacker News
TopNewBestAskShowJobs

ninjakeyboard

1,181 karma · joined February 6, 2013

moo.
submissionscomments
ninjakeyboard··on Ask HN: How to Teach Coding?
"One size fits all" is what you're looking for at school but you have the luxury of only having one person to mentor so they are a good person to ask first! They will tell you about their learning experiences, what worked and didn't work, etc.
ninjakeyboard··on Ask HN: What company environment has enabled your best work?
I don't want to be managed. Tell me the objective and give me the freedom to meet it for you. I'm smart. You don't hire smart people and tell them what to do. You hire smart people and let them tell you what to do.
ninjakeyboard··on Ask HN: Work-life balance?
I cap it at apx 40 hours a week. Sometimes I'll hack late if I'm inspired. I can pull little bursts but I do not let work pressure drive me to do more than what is healthy.
ninjakeyboard··on The Acid3 Test (2008)
thanks - this was helpful.
ninjakeyboard··on Ask HN: What should a systems/low-level software engineer know?
For sure I'm not anywhere close to embedded. https://en.wikipedia.org/wiki/Systems_engineering
ninjakeyboard··on Ask HN: What should a systems/low-level software engineer know?
I am somewhat of a systems engineer but more in the distributed systems space rather than embedded systems. I guess:

- runtime/space complexity and general algorithmic heuristics to know how the system will perform, or to be able to fix scale issues in the code.

- network characteristic (eg fallacies of distributed computing)

- CAP theorem and applying it to real world designs

- A co-ordination tool like zookeeper

- Understanding of the technological lay of the land (eg compression like snappy, different tools and approaches for communication like zeroMq, kafka

- Metrics and alerting - eg get how to instrument with statsd and know how and where to alert.

- Concurrency concerns and scheduling - you can get away with understanding futures and the actor model and can steer away from threading fortunately. (eg elixir/OTP or Akka)

ninjakeyboard··on Show HN: I taught my little brother JS, and he made this videogame in a week
You should show him nibbles - this was something I made in C when I was 17 or 18 - could be the next step in his production of this game! https://classicreload.com/qbasic-nibbles.html
ninjakeyboard··on Ask HN: Is web development still a viable career choice?
If demand for your skills outweighs the availability of them in the skills market, then you'll make an excellent living. So your skills need to be in high demand. Compared to the competition, either be perceived as "better" (write books, give talks) or "more specialized" and you should be able to find a market segment that demands your skills and will pay for them.
ninjakeyboard··on Ask HN: Go-to web stack today?
I don't dislike elixir, I just think scala and akka are better tools for some problems for a few reasons.

- BEAM is slow for computation. - Static typing

ninjakeyboard··on Would you still pick Elixir in 2019?
no elixir/beam is very slow for any computation-heavy tasks.
ninjakeyboard··on Would you still pick Elixir in 2019?
Also, I have to say that elixir developers are generally not very experienced with it and seem to be generally less desirable than the people who are working with scala. You get rubyists that have some interest in working with elixir because there were some blog posts saying it's the new hotness. Scala seems to attract more comp-sci savvy people. And generally those people will refuse to work with elixir when there are Scala job out there that will pay. Startups should use scala for these reasons. Elixir may be a mistake for the resource pool alone.

One thing that's trecherous is that rubyists can bring whatever they believe to be the right way to do things and assume everything should be exactly the same, especially with regards to ecto vs active record. Elixir isn't ruby. Ecto isn't rails active record. Not anywhere close. It just happens to look like ruby and there are some influences in the design but Ecto tells you not too implement STI like rails does for example so don't assume you're going to do it like you would in rails. I'd argue ruby is more like scala than it is like elixir as it has multiple paradigms. Elixir is squarely functional, just a very very simple functional language. The skill ceiling is pretty low and it should take very little time for someone to get up to speed which is important because you won't find a big pool of rockstars using it in the job market so you'll have to hire good people without experience and hope they will be okay using elixir and not jump ship to go work with strong typed languages.

ninjakeyboard··on Would you still pick Elixir in 2019?
I have experience with both. I have recently been working with Elixir. It's okay. I find the lack of static typing to be some thing I celebrate and curse. Elixir is VERY simple and beam is VERY slow at computation. I wouldn't recommend anyone working with scala/akka look at elixir unless you want to understand how BEAM works but I would recommend _everyone_ working with elixir learn different functional programming languages. Ultimately I'm much happier writing scala with akka. I get more done faster (except things like handling json sometimes because it's hard with types), can refactor the code more freely, and release less broken code to production.
ninjakeyboard··on Ask HN: Go-to web stack today?
I don't believe there is a good answer to this as details are missing. What scale are you trying to get to? What level of concurrency? How much state and how often is it accessed? And what are the skill of your engineers.

You could write a rails monolithic app on postgres if you're building an internal application 100 people will use. Or you could use Akka and Scala with all state in memory backed by an event journal stored in cassandra.

IMO Ruby, Python and Elixir are perfectly suitable but the last languages I would choose. I've been working with elixir for the last 1.5 years and have decided I don't really like it. I'm happiest writing scala - I get more done faster and less bugs make it into production. Event sourcing and Akka cluster allow some really interesting patters that move state into application memory. But those technologies require a much different, more involved skill and experience set to lead.

I'd probably be using Go or Scala if I had to start a tech company in a small city. Scala if I were in a large city with talent 100%. There is evidence that Static typic improves speed of delivery and it's easier to refactor/maintain. And it's faster (generally). Both languages are much more widely used than elixir.

ninjakeyboard··on Ask HN: Going from Developer to Manager. What should I know or learn?
The biggest challenge I find is code. If I'm trying to deliver, I can't give myself the thinking time to identify challenges and produce solutions. I can't orchestrate people if I'm under duress to deliver. So really try to separate code and management and move your focus from one to the other. Seek mentorship and guidance in managing this balance from inside the organization - it's the killer of anyone who would hope to be a decent lead.
ninjakeyboard··on Ketamine might help prevent suicide
Ketamine is hugely psychologically addictive though. It is like saying that opioids should be available to everyone that is in any pain. The level of addiction caused may be different because the opioid user has to contend with the negative association with withdrawal as well as the allure of the high itself, whereas ketamine is only one of those two. Dependence and addiction are not the same and ketamine is powerfully re-enforcing. I don't mean to trash this - I'm just trying to show a counterpoint and another perspective because there WILL be misuse as soon as prescriptions become available, and people (doctors) will not understand the degrees to which it can draw people to misuse until much later. There is already a black market to supply to the demand. If droves of people start acclimatizing themselves to ketamine, the market demand will increase and the black market will be there to fill that new demand, just like it did with heroin/fentanyl when pain was over-treated with opioids and droves of mom's and yuppies suddenly thought heroin sounded like a pretty good idea because they had already lost their opioid naivety.

So in turn, I put forward that we should hope a discovery of the mechanism of action and a way to put it to use without ketamine. Ketamine's action itself is assumed to _not_ the primary mechanism of action but rather a metabolite is (the experience has a part of it I'm sure - it's pretty fairly a psychedelic but the yin to LSD's yang) and scientists are working to find a drug that will have the same effect without the psychedelic dissociative qualities of ketamine (and it's monstrous allure which some people notice and fall for - but many don't)

Seems to me that only certain personalities thirst for ketamine after experiencing it. But that will all come to view in time because the black market is ready to supply to an increase in demand and it will happen that way once people start diverting ketamine. The black market will compete in that market. It will offer a product of similar quality (most clandestine on the street is close to 100% purity) but will find its competitive advantage is price and availability.

ninjakeyboard··on The Second Edition of “Refactoring”
Oh man thanks for posting this. Did not expect to see this come. I have both of them ("Refactoring" and then the "ruby edition") - it's a part of my vocabulary.

Also thanks to other posters who describe their view of the updates of content.

ninjakeyboard··on Ketamine might help prevent suicide
The doses are acute so the side effects at reasonable doses are primary psychotomimetic effects without physical harm or other behavioral impact - it has a very short half-life and people will be basically sober by the time they leave from a treatment and the body will clear it in a day. The effects last beyond that because they cause a systemic brain change and psychological effect, not because there is a drug present.
ninjakeyboard··on Ketamine might help prevent suicide
That is true - alcohol is both nmda antagonist (the stumbly ataxia) and gaba agonist (effect on anxiety.) GHB IMO is not nearly as gnarly of a substance as alcohol because it sort of has a ceiling but withdrawal from any gabaergic is uncomfortable and potentially life threatening and nmda agonists are not, there are a lot of causes of bladder damage especially from ketamine, drowning, falling off buildings, loss of jobs, friends, family. Despite it's rather low physical harm profile (aside from the bladder damage) it's incredibly addictive and many people go wayyyyy wayyyyyyyy too far. I have lived it, and I've seen it. It has a very dark side.

I know the IV user in this film (they call him Chris on camera). This user is atypical but there are many people with extensive bladder damage and negative social effects. You'll have to take my word for it. I'm sure there is more research from china especially as it's very common drug used there. Police note (anecdotally) the typical user in north america has changed to middle aged and affluent as the price of street ketamine has gone up from maybe $25/g to +$90 https://www.snagfilms.com/films/title/drugs_inc_ketamine

I believe in its power as an antidepressant. I'm just concerned about the effects a bit. It will fuel research - it seems it's not ketamine but metabolites and effects on ganglial growth that spur the sudden changes to a depressed mind. And a new objective view on life and reality.

ninjakeyboard··on Ketamine might help prevent suicide
Well in the case of an nmda receptor antagonist, the harm can be pretty high. For example, alchohol is an nmda receptor antagonist and is considered to have one of the highest social costs of any drugs.
ninjakeyboard··on Ketamine might help prevent suicide
I was a ketamine user for a long time. My use turned into a problem but I'm realizing that my use patterns were basically: Use, wait until depression returned, crave a cure from my depression, use.

In a clinical setting I'm sure that it's very helpful but for me the "crave a cure" caused me to not getting around to dealing with my issues of depression until after I had issues with ketamine that required intervention and left me alone with depression again.

I hope other people never go down that path. She is a cruel seductress and the draw of the sudden emotional changes is a lot to put on someone's psyche. If they're suffering, and then suddenly they aren't and they feel happy for the first time in a long time it's easy to make the association to powder = happy and that's a very powerful association for an animal/human psyche to put together.

For most people, street ketamine would scare the shit out of them but for anyone else they might get drawn in to basically constant cycles of self medication.

ninjakeyboard··on Airbnb Backyard will sell houses in 2019
"Sell Houses" does not mean "A Service to Put your house on the market" in this case. Title on HN is a bit misleading.
ninjakeyboard··on Ask HN: Have you ever regretted working on a product?
I saw an ea meme the other day:

Buy a bubbletea, get the ingame content: Straw and bubbles.

That's not a knock on the developers or content quality though. It's a knock on the business model. You guys make beautiful things.

ninjakeyboard··on Ask HN: Have you ever regretted working on a product?
I only regret experiencing poor leadership styles (but am also thankful to see them.) The product is a result of the team led by leadership so any and all of the factors in there ultimately lead to what is built.

Reading the other posters though I can see that there are some unethical products being built where you can impact someone else negatively.

ninjakeyboard··on Ask HN: Should I Be Ashamed to Love JavaScript?
Javascript has gotten a lot better. IMO there are nicer languages to swoon over but it's fine to love JS too :)
ninjakeyboard··on Medium is a poor choice for blogging
Why is he writing the post on medium instead of a platform that doesn't have the issues mentioned?
ninjakeyboard··on Ask HN: What are some hacks of real founders who did things that don't scale?
also https://arstechnica.com/information-technology/2017/11/expen...
ninjakeyboard··on Ask HN: Why don't big softwares use App Store on Mac OS X?
The cut off the top is the biggest reason. See fortnight as an example - this is an excellent case to look at to understand incentives of skirting around Google and Apple's stores, even if inconvenient to end users. If a user wants the software (eg if the demand is significant enough) the inconvenience to the user may not be a factor. For the rest of us... The App store as a platform is too powerful to ignore. https://www.theverge.com/2018/8/3/17645982/epic-games-fortni...
ninjakeyboard··on Stop using JWT for sessions (2016)
I wrote a scala JWT library on a weekend when I was more of an intermediate developer (6 years ago?) and it started to be used. But I never ran it in production and flaws were found in it. As a consultant 5 years later I found a customer using it and told them to use someone else's :).

I'm not a security expert - one of the strengths is one of the weaknesses - that's it's a simple spec to implement so your average Joe can implement it, but imperfectly.

ninjakeyboard··on How to Make a Roguelike
This was a very inspiring talk - makes me want to try. Thanks!!
ninjakeyboard··on Two years of Elixir at The Outline
I come from Scala to Elixir and I personally prefer static typing for a lot of reasons. I have come to very much enjoy the looser typing as I can write more code more quickly, serialization is less of a pain, etc. Elixir is still compiled (and you have dialyzer if you really want to go that way.) You can match on a struct type and the compiler will catch a typo if you try to access a member that doesn't exist in the struct so you can go a long way to lean on the compiler. All that said, I can attribute +50% of the bugs that hit production to things that a type system would have caught. I would prefer to go back to writing code with Scala/Akka and would choose those technologies in a blink for any system that I'm going to grow over time. development time _is_ slower with scala/akka (assuming you don't count time spent trying to refactor or fixing bugs a typesystem would catch) but it's probably an order of magnitude faster for computational tasks, not slower on concurrency related items, has a bigger/more mature eco system (which is huuuuge) and gives you OO beside FP which is highly valuable for design. The skill ceiling is higher with scala/akka so you can keep growing and learning.

And OMG trying to refactor Scala vs trying to refactor elixir?? IntelliJ is a jet powered pogostick for applying refactorings (to quote Beck) - It's very had to make large structural changes to elixir code without a static type system and tools to help you rename, extract methods and classes, and move them around. I can do things in scala I would never dream attempting without aa type system which is probably my biggest gripe for long term maintenance.

That being said, working with elixir has turned me into an Emacs junkie and I personally find a lot of value in that but it doesn't help me deliver better code faster, just gives me nerd points because I can check the weather and reply to email from my textt editor

← PreviousPage 2 of 17Next →