Tag Archives: linux

Development Setup – Updated

I posted about our proposed development setup, during these years a few things have changed a bit. More or less, this is what we have:

  • GNU/Linux (Ubuntu) and Windows(some) boxes for developers
  • Eclipse (PDT) IDE with loads some plugins
  • Version Control: Subversion, GIT, GIT-SVN
  • Browsers
    • Firefox
    • Chrome
    • Opera
    • Safari
    • OperaMini (Simulator)
    • FirefoxMobile (Simulator)
  • Plugins for browsers:
    • Firebug (with loads of plugins – YSlow, etc.)
    • Web Developers Tools (firefox)
    • Others (developer’s preference)
  • Developers also use WINE to run some windows software on GNU/Linux

Testing:

  • Windows Box with different browsers (versions, vendors)
  • Windows Box with different Mobile Emulators/Simulators
  • Selenium Plugin for Firefox

Development Servers/Applications:

  • Apache HTTPD
  • Mysql Server
  • Trac
  • MediaWiki
  • PHPMyAdmin
  • ReviewBoard (limited usage)
  • Hudson (limited usage)

Ideas: FlashDevelop on OSX and GNU/Linux

FlashDevelop is an open-source IDE for Flash Platform development (ActionScript, MXML, HAXE, etc.) on Windows platform. I have extensively used it in past, and still, painfully, use it via windows virtual-machine on OSX host.

Couple of years back, I looked at FlashDevelop code to figure out, if we can port it for other operating-systems, such as Mac OSX and GNU/Linux.

I posted on Flash Develop forum about my experiments:

I have been trying to run FlashDevelop under OSX. In last couple of years, whenever I got sometime, I tried these:-

  1. Run FlashDeveloper with DotGNU: FlashDevelop was running but due to a lot of native (Win32) API calls, lots of components were failing (screenshot: http://pic.im/5Xk)
  2. Run Flash Developer with Mono: I tried to compile FlashDevelop using MonoDevelop and run using Mono for OSX. Most of the problems is one component/library i.e. DockPanelSuite (http://sourceforge.net/projects/dockpanelsuite/), an opensource code that uses a lot of PInvoke calls (Win32 API).

I am really excited about the possibilities, if we can port this one library we can get very closer to run FlashDevelop on OSX using Mono.

Note: pics.im seems to be dead, so I have uploaded new screen-shots
Flash Develop on OSX - ScreenshotFlash Develop on OSX

Some Ideas:

MonoDevelop is good enough and works well on OSX, I guess also GNU/Linux. However, I am yet to look at licensing and possibilities of forking the project (MonoDevelop)?

BTW! I have been lazy to write about such experiments on the blog, but while commenting on Jesse Warden’s post, I thought, it makes sense to post it here, so it lives.

Please let me know, if you have any ideas about making this happen? I would be happy to collaborate, contribute and donate in whatever capacity I can.

AptOnCD – A very useful utility for Ubuntu

What is AptonCD?

APTonCD is a tool with a graphical interface which allows you to create one or more CDs or DVDs (you choose the type of media) with all of the packages you’ve downloaded via APT-GET or APTITUDE, creating a removable repository that you can use on other computers.
APTonCD will also allow you to automatically create media with all of your .deb packages located in one specific repository, so that you can install them into your computers without the need for an internet connection.

How are we using it?

We have started moving most of our machines to use Ubuntu as primary operating system. This time, we wanted to streamline installation process and make it easier, so that our system-admin, who doesn’t know much about GNU/Linux can do things easily.

I documented most of the process on our internal wiki, I was wondering:

  • What would the easiest way to upgrade packages on new installations?
  • How can we save bandwidth consumed in upgrade process?
  • Importantly, how can we save time?

Now there were couple of options:

  • Set up a local apt-archive-mirror
  • Install via net-boot using local mirror.
  • Setup a local internet-proxy, which can cache things during first installation and serves cached data during further requests.

I am not an expert in GNU/Linux world, I have just basic knowledge and I am yet to learn a lot of things. Above options looked good to me, but I was not sure, I want to do all these (apt-mirror, etc) on our windows-server. Yes we are still using windows as server and we hope to replace with Linux server, after we are done moving all workstations.

I learnt about APTonCD while finding out an easier option for our requirements, I can say, APTonCD makes life lot easier. This is what I did:

  1. Installed Ubuntu
  2. Downloaded all latest updates using Update Manager
  3. Rebooted machine
  4. Installed APTonCD using sudo apt-get install aptoncd
  5. Installed LAMP using sudo tasksel install lamp-server
  6. Installed Likewise for Active Directory integration using sudo likewise-open
  7. Installed Subversion
  8. Replaced default Network Manager with WICD
  9. Installed many other packages
  10. Rebooted machine
  11. Configured likewise-open (i.e. joined AD domain)
  12. Configured all other (WICD, LAMP, etc)
  13. Launched APTonCD and created an ISO

APTonCD ISO image is stored on our NAS. While setting a new box, we just skip #2 from above list and instead use APTonCD to restore the packages from ISO image.

Now, we all understand, new updates keep coming every next day, how to keep machines updated in that case? Well, developers would be suggested to update, if they find it relevant. In any case, we would be doing update on each machine in scheduled way. On every Saturday, we would create a new APTonCD ISO image and use it on all other machines.

I think, we could manage to save a lot of time and bandwidth without really getting into a lot of hassle as shown in first list of this post.

I hope, you find APTonCD useful too. BTW! I think, APTonCD should work on other Debian based distros too, as said, I am no expert hence just can’t confirm except my gut-feeling :-)

Technorati Tags: , , , ,