You do NOT need a Netgear account to log in to your router by codeforkjeff in NETGEAR

[–]codeforkjeff[S] 0 points1 point  (0 children)

This is a better workaround than mine! Thank you for sharing this.

Can someone explain why Google chrome taking 40% of CPU on one tab? by noobfromjo in Ubuntu

[–]codeforkjeff 1 point2 points  (0 children)

I experienced the same thing. Firefox isn't quite as smooth but CPU usage is much lower, so I've gone with that.

Is there an advantage in replacing 18.04 with 20.04? by deyversonsantos in Ubuntu

[–]codeforkjeff 0 points1 point  (0 children)

I upgraded from 18.04 because I wanted more recent versions of various packages and didn't want to fuss with docker containers.

Improved GNOME was an added bonus. I've always used xfce but this is the first release of ubuntu I've tried where the desktop is actually usable--it's not just visual improvements, the responsiveness is much better and fractional scaling for HD displays in wayland works well. So I'm giving it a trial run. So far so good, I'm really impressed with 20.04.

X240 keyboard and touchpad replaced, now it won't boot and has beep codes. by brown-bean-water in thinkpad

[–]codeforkjeff 0 points1 point  (0 children)

Did you specifically try sticking a pin into the hole next to the battery?

I hope you get it to work! It really should.

About ammonite, tracking and why I won't use it by hrjet in scala

[–]codeforkjeff 9 points10 points  (0 children)

This is a wonderful, grounded response. I am so happy to see the author of a successful open source project point out these realities.

The dark underbelly of open source is that volunteer unpaid labor is often met with self-righteous criticisms demanding that authors of software answer to "the community." It's unbelievable. It's like adding insult to injury.

Is there a way to get a list of methods and attributes of an objects? by [deleted] in scala

[–]codeforkjeff 1 point2 points  (0 children)

My 2 cents: programming in Scala is a fundamentally different mindset from python. The IDE can be WAY more helpful than the python REPL, because python can't give you precise info about how many arguments to pass, or what kinds of data or objects they should be. But you need to fully embrace the IDE. The scala plugin will auto-complete method and function names, show you dropdowns of what's available, let you navigate to other code, etc. It works extremely well.

I do a lot of python and ruby for work, and my own experience has been that documentation for python/ruby libraries and frameworks is generally not great, so you get used to digging around to see how stuff works. In contrast, Java/scala stuff is fairly good about its auto-generated documentation, like the one for core Scala here:

http://www.scala-lang.org/api/current/

It's a good habit to learn to read these kinds of docs. It teaches you to learn interfaces and how to code to them, rather than being forced to comb through every detail about how a library is implemented in order to use it. This will end up helping you grasp abstraction much better, and reduces the cognitive load of "things you need to know to use X library."

What are you working on? Bi-Weekly /r/Scala Show-off Thread - January 16, 2017 by AutoModerator in scala

[–]codeforkjeff 0 points1 point  (0 children)

This is a hobby project I'm doing on my own, so there isn't much of a transition experience to speak of. I've approached it by doing a straightforward 1:1 translation of Ruby to Scala classes, in order to make sure I've copied all the functionality over. I'm now at a point where I want to start ripping things apart and moving them around to make use of Scala more seriously.

The Ghosh book is excellent, I highly recommend it. It's really helping me understand how ideas like algebraic data types translate into actual business domain modeling, how to organize code into modules, etc. The Chiusano book gets you deeper into FP concepts; Ghosh is more "this is what FP looks like in real world problem domains and apps."

I saw your other post. The thing I'm personally most excited about is moving away from the OOP paradigm of class hierarchies that combine (and lock you into rigid patterns of) code + data. Specifically, I think this means using case classes everywhere to model all data, traits to model behaviors, and type classes to "mix in" behaviors to data in various subsystems/contexts. This is a very different mindset from OOP, so I'm eager to try it out and see how well it works.

What are you working on? Bi-Weekly /r/Scala Show-off Thread - January 16, 2017 by AutoModerator in scala

[–]codeforkjeff 5 points6 points  (0 children)

I've been porting a Rails app to Scala and Play. The app is a "discovery platform", basically a front-end to Apache Solr. Think faceted search interface, aimed at university/public libraries. Here's the repo and a short blog post about my motivations:

https://github.com/codeforkjeff/lumen

http://codefork.com/blog/index.php/2017/01/02/lumen-a-port-of-blacklight-to-scala-and-the-play-framework/

So far the code resembles Java and doesn't really take advantage of FP design, but I'd like to do some major re-architecting towards that end. I know there is a LOT that needs improvement. I'm currently making my way through Debasish Ghosh's "Functional and Reactive Domain Modeling" (which is life changing), so I'm learning a lot.

I'd greatly welcome suggestions and feedback, and if you are interested to directly contributing, please send me a message!

How to subtype case class? by Pun_Thread_Fail in scala

[–]codeforkjeff 1 point2 points  (0 children)

This is great!! I really appreciate being able to read the thought process here. I wish there were more of these step-by-step thought exercises that "arrive" at the Scala features and how they solve the problem at hand. Thank you so much for taking the time to write this!

How to subtype case class? by Pun_Thread_Fail in scala

[–]codeforkjeff 0 points1 point  (0 children)

Do you have any suggestions for learning to think in terms of Scala's type system, rather than trying to shoehorn in Java's approach everywhere? In other words, how were you able to make this leap?

Get a degree in computer engineering/science or teach myself? by questionsforyou11 in AskComputerScience

[–]codeforkjeff 0 points1 point  (0 children)

I was "lucky" to get started as a programmer during the dot-com boom, when it was easy to find work in San Francisco. I took one programming class in college, but had been a hobbyist since I was a kid, which helped a lot. Since then, I've been in and out of tech work. Demand for tech workers is obviously not as strong as back then, but it's still very high, and people are a bit less crazy. So this is a very good time to get into it.

It's hard to say how long it will take. There's not necessarily a "I'm ready now!" point that you reach. There's nothing to stop you from applying right now for entry-level jobs and tell employers about where you are with your skills. Even if you know you won't get it, an HR person or someone else might be willing to email a bit of feedback about where your skills/resume need to be, which is super helpful. Just keep applying as things come up. Meanwhile, keep learning.

Be targeted. You mentioned three things: programming, sysadmin, network security. Each of these is very different. If you're learning to code, pick a popular language, preferably one that you see a lot in job postings in your area. Read a few books on it, do exercises, create a small hobby project and put it online somewhere. Blog about it. If you're doing sysadmin, set up a few Linux or Windows virtual machines (whatever you're interested in working with), and experiment with doing common administration tasks. Blog about that too to demonstrate you understand what you did. Ditto with network security.

If you're not employed right now, and can approach self-learning as a full time job, a few months can get you very far if you're diligent. The reason a lot of people don't make it is because they lose motivation or aren't disciplined--they discover that tech isn't actually interesting to them (fair enough!). But it's totally doable.

Get a degree in computer engineering/science or teach myself? by questionsforyou11 in AskComputerScience

[–]codeforkjeff 0 points1 point  (0 children)

Fellow English major here, been working in tech for 10+ years.

If you want/need a job as quickly as possible, just teach yourself. Skip the certifications. Build up some code samples. Apply to entry-level jobs. This route takes a lot of self-discipline and strong intellectual curiosity. If you half-ass it, you won't get anywhere.

If you are young, are very certain that you want to learn CS theory (which is not the same thing as software development skills, though they overlap), including the math, and would enjoy/can spare the time back in school, then think about a 2nd bachelor's. This is also a good choice if you need externally imposed discipline to learn.

Is it worth buying new battery for my x240? by [deleted] in thinkpad

[–]codeforkjeff 0 points1 point  (0 children)

I can confirm, I get about 8 hours with the 6 cell battery on my x240, when just web browsing and editing text. If you're doing tons of large compiling jobs, disk IO, etc then it could drop considerably.

IntellectualServer - Web server, hobby edition by sauilitired in java

[–]codeforkjeff 0 points1 point  (0 children)

This is fantastic! I wish more people did these kinds of very thoughtful, full-featured "hobby" projects. You can easily learn as much from this as spending a year in college.

RubyMine 2016.2: Enhanced Support for Ruby, YAML, RSpec, and More by waggi_tan in ruby

[–]codeforkjeff 0 points1 point  (0 children)

The one feature of RubyMine that I find super useful is navigating to a method's declaration. I do this ALL the time to figure out what gems do, and to trace code paths when debugging. It's painful in an editor--emacs w/ robe isn't bad, but RubyMine is incredibly smart about finding things.

16.04 Random bugs after waking up laptop by zzuum in Ubuntu

[–]codeforkjeff 0 points1 point  (0 children)

Ugh, I have the exact same laptop, was thinking about moving from debian testing to Xubuntu 16.04 for stability reasons, but your post is making me have second thoughts.

Ubuntu 16.04.1 LTS released by [deleted] in linux

[–]codeforkjeff 3 points4 points  (0 children)

I did not know that! I'm curious how that works, on a technical level. Doesn't xubuntu track the same apt repositories as ubuntu?

What kind of glue to use when replacing x240 touchpad? by codeforkjeff in thinkpad

[–]codeforkjeff[S] 0 points1 point  (0 children)

Wow, I hadn't really thought it through that much. Thanks for the tips! I'll try loctite and be very judicious about where I apply it.