Search

musings of extofer

and his secret identity, Gabriel Villa

Category

Software

School of Hacks – Part 2

I continue to discuss the second part of the series, following the Hacker culture post in Part 1, now we discuss Part 2. Before I elaborate in programming in Python or other hacking languages, I want to discuss with you the second important skill in hacking. In case you have not guessed it, if you want to become a hacker, you need know an Open Source UNIX operating system.

linux-distro
Can you hack in Windows?  Yes. Windows is a good operating system, and you can install Python and run programs in C on Windows. But Windows is not Open Source. Windows is distributed in binary, in other words, you can only install Windows and not change nor manipulate the code of the operating system (OS). An open source OS has the option to download the source code and contribute to it by programming features, utilities or tools for it. There are two lessons to be thought in this here skill today, and they go hand in hand. One, if you want to be a hacker, you have use and contribute to the Free and Open Source Software (FOSS). This is a cultural trait. You can contribute in such a community as SourceForge, where you can download and develop FOSS. Hackers share software with their community, they test FOSS they didn’t program, write documentation for it, debug it, and eventually, write their own open source software. That is one reason why hackers use a FOSS UNIX Operating System. There are different variants of UNIX or UX operating systems, free or proprietary such as AIX, BSD, Solaris, SCO, HP-UX and the most popular, Linux, which leads us to the second lesson.

UNIX has been the operating system for scientist by scientists. It goes without saying, that hacking is a science. In the days before the Mac OS and Windows, UNIX was king and in the 1970’s, UNIX creators at Bell Labs, provided the source code to the OS to be taught in universities or enhanced by researchers. A US born professor at Vrije University in Amsterdam wrote his own UNIX (MINIX, or Minimal UNIX) and provided the 12,000 lines of C and Assembly code when you bought his book “’Operating Systems: Design and Implementation” by Andrew S. Tanenbaum. MINIX was created to teach university students how an operating system works. One student, Linus Torvalds, took the source code provided by the book in floppy disks, programmed a kernel, and according to his newsgroup post on compo.os.minix took “feedback on things people like/dislike in minix” and programmed “features most people would want”. As he shared it with the online community, like a good hacker boy that he was, it gained a lot of attention and within one month of releasing Linux 0.01 (or Linus UX) on the Internet, many hackers contributed to 0.02. Eventually Linux grew into the hundreds of Linux distributions today.

There are other Free OSS UNIX operating systems around that are used for hacking, these include FreeBSD and OpenSolaris. However, the importance to becoming a good hacker is to understand UNIX and how it works on the Internet. To do so, one must know the UNIX and Internet Fundamentals. The question here is now, what do you want read about next: should I contribute in detail on programming Python, or would you rather me show you the different ways to run Linux, including Live Distro, virtual or full installation or running Linux off a network. My next part of this series will depend on the reader, this is subliminally training you to a hacker lessons learned, contribute to this by commenting, and you’re on your way to becoming a hacker.

My Favorite Free Dev tools for 2011

Attribution Some rights reserved by Vectorportal

The first time I laid eyes on code, it was HTML. With an account to Geocities, I wrote my first webpage by piecing together bits of code on Notepad. I wasn’t planning to write software for a living, although I was working in engineering at the time and had a degree in Mass Communications. I began to like the fact that I could write code and turn into something like a webpage. So I explored a bit more and found myself in the realm of MS QBASIC 4.5 then Visual Basic 5.0. I didn’t have many choices then for development tools, and for a while I limited myself to the tools Microsoft could provide from VB 5.0 to Visual Studio 6.0, Access, VBA and so on. When I explored the likes of Linux and Open Source, I knew there should be tools to use to develop at no cost.

Enter, present day. It is very possible to develop solutions at no cost, and even with a license to Visual Studio and SQL Server, I use these tools I’m sharing with you today and will continue through this new year.

Visual Studio Express I use Visual Studio and SQL Server on a daily basis, and my list is called “Free” Dev tools of 2010, You should be aware, Microsoft has a development studio with the basic IDE and lightweight development sets.

SQl Server Express Is the answer to data backend for Express applications. It provides basic data storage and lack the larger scale capabilities such as mirroring, server Agent, profiling and is limited to one physical processor.

ExamDiff Is a great tool to compare code files. It is very easy to use and comes very useful when working with various versions of code files. It compares almost any kind of code file and I have done this in for C#, Vb, XML, SQL, COBOL, HTML, PHP and more.

Notepad++ Is a daily must have. Like I mentioned, I have a soft spot for MS Notepad to jot down Quick and Dirty code, but Notepad++, does it with style. By style, I mean this source code editor has keyword recognition depending on the language you choose and has a component to execute your code in Win32 API and STL.

PowerShell When I first heard of PowerShell I though of MS-DOS on steroids. It’s now clear to me that PoSh is the answer to the many Linux Shells around. At version 2.0, it is growing as a popular scripting language used in conjunction with the .Net framework.

Firebug Is an awesome plugin to run (on Firefox for me) mostly for debugging JavaScript. It is the perfect too for web development, either ASP or PHP even Cold Fusion developers – yes I said ColdFusion, I heard about this tool from a CF Developer.

Drupal To me has been my Content Management System of choice for PHP sites. I can build an entire solution on Drupal, with mySQL of course. Drupal has a large variety of modules and themes, more so that other PHP CMS I’ve used.

Eclipse for PHP and Eclipse for JavaScript Web Developers I mentioned PHP a few times, I dabble in the code often, and although I’m more of a Microsoft Technologies developer, when I develop in PHP, I prefer this tool. Also, I include in this recommendation, the Eclipse environment for JavaScript, something I can use in both the ASP and PHP world. Eclipse has a variety of IDE’s to choose from, including Java and C++, but I mainly use the editor for PHP and JavaScript.

Python 2.7 Finally, a guilty pleasure I’ve had for the last year. Python hasn’t really gotten me out of a bind or has performed something in my job that I couldn’t accomplish in C#, but it has been proven to work well to teach programming or develop on Linux systems.

I wish I had read a list much like this 15 years back and had made my job a lot easier. To some, this might be a great list, to others, I’m open minded and would like to hear what free development tools you will be using in 2011. Happy New Year!

My Tech Tools 2009

Friday was “ShareWare Day”. It turned me to share my top 20 tools of 2009. Although previously mentioned on my Tools I use on a daily basis, this list is compiled in order, with a summary on my top 10.

  1. Google Voice: I use this as a personal VOIP manager. I have the ability to give out one phone number, and I can mange call to my office or cell phone. Moreover, voicemails are transcribed and sent via SMS or email. 
  2. Chrome Browser: This is my default browser.
  3. Pidgin: I utilize this to connect instant messenger accounts, including AIM, Live, Google Talk and Facebook Chat.
  4. Gmail: My default email client. I connect any POP account in addition to Hotmail and Gmail accounts.
  5. Google Calendar: Online calendar, you can share public and private meetings.
  6. Google Sync: This is a great tool, I can sync my Google Voice Contacts and Google Calendar appointment to my Outlook and Blackberry.
  7. Virtual Box: This is Sun Microsystems virtual machine application. i have flawlessly ran multiple operating systems using Virtual Box rather than VM Ware, or Virtual PC.
  8. Fedora Linux: I was introduced to linux via Red Hat Linux 7. After Redhat 9, the FOSS OS took Red Hat to the enterprise level and created Fedora Linux, the same OS open to the community.
  9. Ping.fm: With Ping.fm,  you can configure one social network update to post on multiple sites, including Twitter, Facebook, MySpace, Linkedin and more.
  10. VLC media player: It the ultimate media player. I have note found a media file it will not play.
  11. CCleaner
  12. Last.fm
  13. Rapid Share Downloader
  14. Live Writer
  15. DropBox
  16. WinRAR
  17. FireFox
  18. Spybot – Search & Destroy
  19. Juice
  20. Tooble

Tech Tools for Daily Use

Being that I work in technology, there are certain tools that I recommend for daily use. These tools are essential to consolidate the already overwhelming accounts for email, messaging and social networks. I will assume you have some or all the following services: Twitter, Facebook, MS, Yahoo and/or AOL instant massagers and various email accounts. Lets begin with Gmail. Utilize Gmail to consolidate all your email accounts into one. Gmail will enable you to receive mail from other accounts by setting them as a POP account. The other great feature of it is that you may reply from the email as the account it pertains to. When you use Gmail, you will save time checking emails, avoiding having to log into various accounts.  Here are Ten ways Gmail makes email easy. If you need an invite to Gmail, leave a Comment beginning with “GMAIL INVITE”.
Moving on to social networks. To broadcast news and information, people like me utilize Facebook and Twitter. There are other social networks such as MySpace, Friendfeed, etc. When posting a feed, many either post a message to one site and a different message to the other. To keep with the consistency, I use a tool called Twhril with Ping.fm. Twhril is a tool for Twitter,posting a message to your account page. When applying Ping.fm, your Twitter message will also post to a social site that you configure, in my case, Facebook. This is done by utilizing an application key, creating an account on Ping.fm, configure Ping.fm to send messages to you Facebook account and create an application key. Then add the application key to the Thwril program’s setting.
Finally, even with all the new technologies, I still use my Instant Messengers. With, account on MSN, Yahoo and AOL, I refuse to install all three IM programs. Therefore, I utilize Trillian. Trillian is a tool where with that one application, you may configure up to three IM’s (AOL, MSN and Yahoo so far.) There is nothing too complicated to it.
These are essential applications to me, making it easier on my day to day activities and keeping in touch.

Create a free website or blog at WordPress.com.

Up ↑

Design a site like this with WordPress.com
Get started