Play! & IntelliJ Configurations
These are just some notes I’ve thrown together for setting up a new Play! framework project with IntelliJ. There are a few minor “gotchas” or minor details that I did not find up to snuff. The built-in command
play idea works pretty-damned well at setting everything one would need, but it gets some little details wrong. Some of the following is general to Play’s generation of a new application, while the latter portion is specific to it’s integration with IntelliJ. Do note that I have written this guide against version Play! 2.2.1 and sbt 0.13.0 so things could be different depending on where you are.
Removing DD-WRT from Netgear WNDR3700
As luck would have it, my Netgear WNDR3700 crapped out in fun way: my download speed became 0.01Mbps. After trying everything I could think of, including getting an RMA from Netgear, I decided to give DD-WRT a shot to see if it might help fix the problem. Did it? Nope.
So I’m going to be returning the router to Netgear and hopefully will be getting a shiny new router back, but I don’t quite think having non-factory firmware looks good, so I needed to flash the original firmware back onto the router. Despite simply uploading a CHK file into the Netgear’s web based UI to switch to DD-WRT, it is a real pain in the ass to switch back.Read On →
Android Annotations & IntelliJ
reading skimming Pro Android 4 and concluding that the default Android way of doing things is pretty asinine (though I get why it is the way it is) and doesn’t belong in the year 2013, I too a look into libraries and tools to make things nicer. Long story short, I found Android Annotations and fell in love with it. Combine that with the Android app we have at work using it, thus giving me a nice example of everything I could need, I got to work. However setting things up in IntelliJ was a bit more of a pain than I bargained for.
Genymotion with IntelliJ
So there is this great tool out there called Genymotion, which provides an extremely fast Android emulator. I started to learn Android development about a month ago and quit as soon as I fired up the emulator. Having seen Genymotion on Hacker News, I decided to try it out and dayyyyuuumm does it solve the speed issue. My only hangup was getting things working with IntelliJ. Given that it doesn’t use a traditional AVD, you have to do some configuration to use Genymotion. Down the rabbit hole we go…Read On →
Response Headers and Chrome Extensions
So I just got around to releasing the Header Editor version 2.0.0 Chrome extension. It’s fancy! Somehow I missed the fact that there are request and response headers to be modified, so after a little hacking around you can now edit the response headers as well.
Now for those of you like me, who check everything in the Chrome request inspector, you’ll notice that the response headers do not show up in the list of response headers. You probably think “Well shit, that’s a bug there ain’t it?”, and you’d be right.Read On →
Travis CI and Tabs
I caught the NodeJS bug a few days ago, and have started working on my first module. Being the good software “engineer” that I am, I decided to add testing to my module to give anyone using it that warm tingly feeling because they know the software is high quality shit. Since I’ve already started down the hipster path, I decided to try out that Travis CI thing I keep seeing over on good ol’ GitHub.
So setting up a basic
.travis.yml file for Node is pretty simple. It basically looks like this:
Read On →
language: node_js node_js: - "0.11" - "0.10" - "0.8" - "0.6"
Switching WordPress Themes by Name (or Anything, Maybe)
I’m going to preface this one with this: I HATE WordPress. Kinda. From a user’s standpoint it’s not really all that bad. I’ll go out on a limb and say it’s marginally nice. From a programmer’s standpoint? I’d like to see the WordPress developers strung up by their thumbs. Ouch. To quote myself on Twitter
“Every time I work with WordPress, I reaffirm my belief that the WP devs really just are a programming troll collective.”
From time to time I’ll run into fun little things like WordPress inserting <p> and <br /> tags into my
code text (apparently it’s text now, whatever WordPress…).
Chrome Extension Library
If you’re working on a Chrome Extension inside of one of those fancy IDEs, you may just want to be able to get those nifty features such as auto-completion and error checking. Luckily, the folks working on Google’s Closure Compiler are kind enough to have a mock library, chrome_extension.js. Just add this file to your IDE of choice as a library, and you’re good to go.Read On →
“object scala not found”
Don’t ask me why, but I decided that it would be convenient to develop on my main home computer, a beast with a hex-core processor, 16 GB or RAM, and more that will just make my computer seem like overkill. Regardless, I was trying to setup a Play Framework project on Windows 7 with a fresh install of everything (meaning Java, Scala, Play Framework, etc.) but I kept getting a very cryptic error message while tying to compile my project.
Caused by: scala.tools.nsc.MissingRequirementError: object scala not found. at scala.tools.nsc.symtab.Definitions$definitions$.getModuleOrClass(Definitions.scala:655) at scala.tools.nsc.symtab.Definitions$definitions$.getModule(Definitions.scala:605) at scala.tools.nsc.symtab.Definitions$definitions$.ScalaPackage(Definitions.scala:145) at scala.tools.nsc.symtab.Definitions$definitions$.ScalaPackageClass(Definitions.scala:146) at scala.tools.nsc.symtab.Definitions$definitions$.AnyClass(Definitions.scala:176) at scala.tools.nsc.symtab.Definitions$definitions$.init(Definitions.scala:814) at scala.tools.nsc.Global$Run.(Global.scala:697) at scala.tools.nsc.interactive.Global$TyperRun.(Global.scala:1036) at scala.tools.nsc.interactive.Global.newTyperRun(Global.scala:1059) at scala.tools.nsc.interactive.Global.(Global.scala:191)Read On →