Dev Setup Survey / Inquiry

For those interested in sharing ( bragging or crying on other ppl’s shoulders! ) what’s your Roku Dev setup like?

  • Desktop/Laptop/Chromebook/iPhone/Andoid/Atari …?

  • Windows/Mac/Linux/BeOS/DOS … ?

  • Notepad++/Visual Studio/Eclipse/gedit/Emacs … ?

  • Telnet, PuTTY … ?

  • Misc/Home-Brew Tools: Anybody use/create their own Qt Designer ( for Roku Dev! ), etc?


I’ll start us off:
me: Hello, my handle is Dev42.
ppl: Hello, Dev42!"
me (sobbing): My Ex-Dev Setup (recently DIED! :disappointed_face:

  • Windows Vista Laptop

  • Notepad++ with VB highlighting ( that I had to edit the XML to get it to stick for future .brs files )

  • FireFox

  • PuTTY

  • Not yet ready to Stop Sobbing


Current Non-Working - Temp Dev System / Inquiry:

  • Windows XP/Manjaro Linux Laptop with 512MB of RAM

  • FireFox churns HD into butter. Doesn’t completely lock up, but is unusable.

  • Does anybody here do any Dev work on a PC with 512MB RAM?

  • FF 37 sys req’s suggest 512MB RAM minimum… does that mean that is not the prob?

  • Could it be Flash or something else that is RAM hungry?

  • Slow Down prevalent in both XP/Manjaro – Arch based Linux ver, known for being light and fast. Good for old HW.

  • Is it possible the NIC and/or HD are borked?

  • Did an XP update/Linux kernel update/Flash or some internet SW leave the realm of sub-Gigabyte RAM?

  • Gonna give an old Puppy Linux Live-CD a shot and see if there’s any improvement


Remember, Kids, Save Early, Save Often and backup, Backup, BACKUP!

“dev42” wrote:
Gonna give an old Puppy Linux Live-CD a shot and see if there’s any improvement
Believe it or not, it is much better! Not perfect, but better. It even mirrored the screen automagically ( mostly. it cropped the task-bar on the TV. ) Anywho, hopefully, this proves it’s a SW / OS thing and I might be able to tweak / improve Win XP / Manjaro or whatever.
[spoiler=a couple grumblings:2eu6sq8c]As much as I’d like to be at peace and get back to dev work, it doesn’t seem to sleep well. Had to power off. So that’s a bummer. Also, for those that don’t know, Puppy started off as a RAM only Distro. So, it’s volatile… unless you’re (pro)active about where / how you’re saving things.

One tid bit that is annoying… Linux comes with Virtual Desktops… using the scroll-wheel while hovering over the desktop cycles thru them. IOW, if you’re browser window isn’t full screen and you want to scroll it with said scroll wheel and you’re off browser… Pupppy hypnotizes you, “borrows” your CC and orders itself a Poodle-Bride.[/spoiler:2eu6sq8c]

  • Windows 7 Laptop
  • Notepad++
  • Eclipse for console
  • Usually an old CRT TV
  • Sometimes “EasyCap” - video capture input dongle to display the RCA cables SD signal in a window right on my laptop
  • Sometimes a small HDTV via HDMI
  • GraphicsGale for pixel art and sprite animation (it’s very good and totally free!)
  • Audacity for sound editing
  • Amazon S3/CloudFront for file hosting
  • Roku models: Roku HD 2500, Roku 1 2710, Roku 2 XS 3100

2 TVs plus Windows 7 on 6 screen 16Gb PC (on a 2 row by 3 wide stack), coding BS in visual studio as text files (first and biggest screen), second screen has folder window up to delete and rezip app in a batch file, third screen has app loading website up to load, fourth as telnet debugger up (landscape), fifth as dev forums, sixth has brightscript manual/web browser for lookups (also landscape), a 1080p 22" monitor/tv and 720p 50" tv, also for additional testing (at home) a roku 2 on a medium size tv, and a roku 3 on the home theater. I just reread this all and sounds all awesome, but to make a more realistic picture put a few empty mountain dew code red cans, some m&m wrappers, and assorted mail/paper/unread books and the like around it, and throw in a blue screen every week or 2 (is windows after all).

  • MacBook Pro running Windows 8.1 :face_with_tongue:

  • Eclipse and MinGW

  • Custom makefile for building and packaging

  • 40" TCL Roku TV with 6x2 HDMI switch with legacy Roku, Roku 2 XD, Roku LT, Roku 2, Roku 3, and Roku streaming stick (and various other models that get switched in/out depending on testing needs).

“Komag” wrote:

  • Notepad++ … - Eclipse for console … - Usually an old CRT TV
    NPP FTW! ;o) But out of curiosity, wouldn’t Eclipse offer more? Like reserved word auto-completion or the like?

“TheEndless” wrote:
MacBook Pro running Windows 8.1 :face_with_tongue:
Wait. Whaaaaat?


“TheEndless” wrote:

  • Eclipse and MinGW

  • Custom makefile for building and packaging
    Eclipse is the IDE and MinGW is the console? Doesn’t OSX have *nix CLI tools? … but it’s not a Mac. Also, what do you mean by “packaging”? Does that auto-load it to your Roku? or do you still need to upload it from a browser?


“sjb64” wrote:
2 TVs plus Windows 7 on 6 screen 16Gb PC (on a 2 row by 3 wide stack)
Seriously?! How much do you charge when it’s not in use? I’ve never got the hang of Virtual Desktops in Linux, but that could have saved you some $… but I’d still rather have your setup!


Found an old 4GB USB keydrive with ArchBang… that works! No slowdown, but it is running FF v12. FWIW, I’m not a Linux guru. I’ve toyed with it on/off over the years.

“dev42” wrote:

“TheEndless” wrote:
MacBook Pro running Windows 8.1 :face_with_tongue:
Wait. Whaaaaat?
I’m not a fan of Mac OS, but I liked the hardware.

“dev42” wrote:

“TheEndless” wrote:

  • Eclipse and MinGW

  • Custom makefile for building and packaging
    Eclipse is the IDE and MinGW is the console? Doesn’t OSX have *nix CLI tools? … but it’s not a Mac. Also, what do you mean by “packaging”? Does that auto-load it to your Roku? or do you still need to upload it from a browser?
    OSX does, but I’m not running OSX. MinGW just gives me the ability to use some fancy makefiles that are OS agnostic (for the most part). By “packaging” I mean it zips up the file and uploads it to the box automatically. I can also rekey the box, upload the channel, sign it, and download it to a named pkg file in one line (e.g., make pkg IP=roku.ip.address), which automatically names the file with the version information from that manifest.

Here’s a snapshot of my IDE setup:

[upload|FryV/8fan5MOFNU3Fq0wOQ==]

That’s a Remoku web remote on the bottom left (for when I need to enter text, or I’m too lazy to pick up the remote and point it at the TV), debug console bottom middle, and MinGW/cmd console bottom right.

PC: old hp win7 desktop
processor: dual core (ouch) 3GHz Athlon II X2
ram: 16 Gig
drives: 4TB (no RAID :disappointed_face: )
backup: 1TB external backup on pogoplug / 500G secondary backup on netgear NAS

Managed to accidentally delete all my source code a couple years ago. (yay me! wooo! :oops: ) Trying real hard not to repeat that one, but I probably will.

Development env:
Eclipse as primary IDE
Notepad++ for quick editing, viewing, or to grab code snippets from one of my earlier projects.

I try to use remoku.tv for testing, since I have several rokus in my small office, and I sometimes find that I’ve accidentally installed 5 new channels on one roku while playing a game on another. I use a chrome “application shortcut” for this, though I’m jealous of the setup the endless has, it looks like it would work better.

Second monitor to sometimes watch TV when my actual TV is busy with testing, or to test (roku sound is hooked to PC audio input, and it’s easy to switch input from PC to roku.) Mostly I just use one monitor and the TV for development, and the other rokus and tvs around the house for testing.

Test Roku players:
Roku 1 N1000 (apparently a paperweight now, operating as such.)
HD 2500
XS 3100
Roku3 4200
Roku Stick 3500
TCL Roku TV

“BradC” wrote:
Managed to accidentally delete all my source code a couple years ago. (yay me! wooo! :oops: ) Trying real hard not to repeat that one, but I probably will.
I have CrashPlan setup to backup my source folder every 5 minutes, and keep infinite versions… :wink:

“dev42” wrote:

Notepad++ with VB highlighting ( that I had to edit the XML to get it to stick for future .brs files )
It should be possible to use Notepad++ with VB highlighting without editing the Xml files. See here (http://forums.roku.com/viewtopic.php?f=34&t=83613 - point 3 in particular).

Hardware

ASUS i7 2.4GHz 8GB 1TB Laptop, Win 8
All Supported models of ROKU ( except TV and the new 2 which is really the 3, and the new 3 which has not changed internally from what I read )
LG 32 HD 1080 TV
Thinking about the ROKU TV will eventually get it

Development, Backup, CDN

Amazon Cloud ( costs about 1$ a month for development use )
S3 Browser for Amazon S3, Amazon S3 APP for ios

IDE

Eclipse LUNA Release 2 (4.4.2) Setup with JSON and XML plugins as well as the internal web browser for Brightscript reference

Software

MediaCoder
HandBrake
FormatFactory

NotePad++
Gimp 2
Swish ( Flash generator also generates png frames )
Synfig Studio
Powerpoint

“dev42” wrote:

“sjb64” wrote:
2 TVs plus Windows 7 on 6 screen 16Gb PC (on a 2 row by 3 wide stack)
Seriously?!..

Yes, but understand I’m mainly doing some rather large C# development for the backend and web services, CMS, housekeeping, and other systems that the Roku (and website and so on) call, RDPing into our Azure VMs and our automated transcoding and syncing servers, etc., so this setup makes sense for that, is admittedly overkill if I was doing mainly brightscript coding.

But I’ll admit, having a setup like this is convenient.

“TheEndless” wrote:

“BradC” wrote:
Managed to accidentally delete all my source code a couple years ago. (yay me! wooo! :oops: ) Trying real hard not to repeat that one, but I probably will.
I have CrashPlan setup to backup my source folder every 5 minutes, and keep infinite versions… :wink:
You guys, umm… don’t believe in source control systems?
Things like cvs, subversion, git, whathaveyou…

“EnTerr” wrote:

“TheEndless” wrote:

“BradC” wrote:
Managed to accidentally delete all my source code a couple years ago. (yay me! wooo! :oops: ) Trying real hard not to repeat that one, but I probably will.
I have CrashPlan setup to backup my source folder every 5 minutes, and keep infinite versions… :wink:
You guys, umm… don’t believe in source control systems?
Things like cvs, subversion, git, whathaveyou…
I use subversion, github, bitbucket, etc. when working on code that I’m collaborating on and/or sharing with clients, but for personal development and backup of code between commits, automated backups have proven very effective and beneficial.

“TheEndless” wrote:

“EnTerr” wrote:
You guys, umm… don’t believe in source control systems?
Things like cvs, subversion, git, whathaveyou…
I use subversion, github, bitbucket, etc. when working on code that I’m collaborating on and/or sharing with clients, but for personal development and backup of code between commits, automated backups have proven very effective and beneficial.
Hmm, how interesting! Glad i asked and can see different way of thinking.
I use revision control for other reasons beyond backup - actually mostly for the other benefits.

For example i do some code review of the deltas when committing. Premise being the code in repository is stable/working and i inspect transactionally the differences i will be introducing. The code in the working copy on the other hand might not be - there’d be snippets of me horsing around, trying different things and forgot about them - which i dont want to leak into the repository.

I also tend to comment on each commit what was done, so at a later date i can pull a detailed list of changes (like this one). It comes quite handy if i have been poking at the code on and off over a long period (over a year in the sample presented) and frankly have no idea what was changed.

It also comes handy when i’ve shot myself in the foot - except a month ago and did not realize it till now but have been editing other parts of the code. So with revision control it’s easier for me to pinpoint (diffs) when the damage occurred temporarily - and i don’t have to revert but can just see the offending delta and (usually manually) undo the harm.

I am not mentioning branching/merging, where version control systems shine because that’s not typical for the kind of development we are talking here. But at least tagging the tree at beta/release versions is useful.

How do you manage such things with auto-backups? Or is it so rarely you find yourself needing things like above that it’s not worth the botheration?

“EnTerr” wrote:
How do you manage such things with auto-backups? Or is it so rarely you find yourself needing things like above that it’s not worth the botheration?
For client code, I do exactly what you’ve described. Generate my changelog and verify deltas during the diffs at check-in.
For my personal code, I definitely should, but I generally don’t. I’ve tried it on several occasions. I even have my own SVN server set up “in the cloud”, but I never remember to check stuff into it, so having automatic backups is the next best thing. FWIW, my makefile also appends a timestamp to the end of every zip and/or pkg file it generates, so until/unless I manually clean up my builds folder for each project, I also have a copy of every single build I make of a channel.

“EnTerr” wrote:
You guys, umm… don’t believe in source control systems?
Things like cvs, subversion, git, whathaveyou…

I’m up to my eyeballs in using and managing subversion and TFS at my real job. :laughing: I really never even considered using it at home. I suppose now that my projects are starting to get stupidly complicated it might not be a bad idea, …but knowing me I’m pretty much certain that I’d spend a lot of time getting everything set up and then never use it anyway.

All my Roku files are in my Dropbox folder, so that’s my backup (cloud, and my other PCs). I just overwrite the zip of my channel every time, but every few days I copy it over to a “backup” folder, so I have old versions.

And whenever I cut out some section of code or make significant changes, I copy the old part into an “old code” file with some notes. I’ve “searched” it on a couple occasions for some snippet I needed to get back, but mostly it’s just a graveyard.

So my whole approach is very amateurish and small potatoes, but hey, this is my first programming, so it works for me :slightly_smiling_face:

“Komag” wrote:
So my whole approach is very amateurish and small potatoes, but hey, this is my first programming, so it works for me :slightly_smiling_face:
I know a lot of professional programmers with decades of experience who, without an enforced corporate version/source control system in place, do a lot worse than that. Informal and not as ‘thorough’ as TFS or GIT or any of the local SC systems might be, but works a lot better than nothing at all (unfortunately the most common scenario).

@TheEndless I love your setup. I know what you mean about Macs, if I had the money I’d do the same, except I’d slap a penguin sticker over that Apple! :face_with_tongue: Love Linux. Despise windows 8 so bad, if I need windows I stick with 7. Also I want to steal your MinGW , never heard of it before but what you say you can do with it sounds VERY cool.

And if anyone is curious of my setup.

Old low powered laptop with a screen that’s way too small for development (seriously want a new one)
Ubunu Linux with Gnome Shell DE (actually prefer Arch but Ubuntu is easier to install and breaks less)
Eclipse

It’s really a very basic setup. Maybe someday I’ll have a fancy setup like TheEndless :face_with_tongue:

Also I’m with you Enterr, I use private Git for my games. The comments are useful, also I do use branches if say I want to try to add a new feature to a game that I am otherwise happy with. Great way to try out new things while leaving the original version in tact.