Bring Python to Your .NET Development with IronPython

Python is a high-level programming language that has gained popularity in recent years for its emphasis on clear code that is easy to read, combined with surprising power and flexibility. Because Python is free and open-source, it has become a widely used scripting language primarily for web-based applications…but did you know that a little help from the .NET framework can bring your Python apps to the desktop, complete with a graphical user interface? IronPython is a handy tool that will allow you to enjoy the perks of .NET development with your favorite language, Python.

IronPython is a version of Python that is tightly integrated with .NET, originally developed and maintained by a team of Microsoft engineers but recently released to the open-source community. IronPython integrates with Microsoft Visual Studio and allows you to combine traditional Python code with .NET technologies, including Windows Forms and WPF for UI design. The result is a Python-coded application that looks and behaves no differently than any other Windows program, which is a big improvement over the command-line programs typical of the language.

'Hello World' with IronPython

But how exactly does IronPython fit into the .NET world? The diagram below shows the basic functionality where the Python code makes calls to both the .NET framework classes as well as Python libraries. The Python code is then compiled by the IronPython Engine and converted to assembly code that can be executed by the .NET runtime.

IronPython isn’t just for the desktop and can be used to develop web applications that integrate with Silverlight, a Microsoft framework similar to Adobe Flash. If you’re worried about pigeon-holing yourself into Windows with .NET, fear not, IronPython is supported by Mono, an open-source and cross-platform alternative to .NET. Likewise, if you don’t have the money to throw down on a license for Visual Studio, IronPython Studio is a free IDE that runs from the Visual Studio Shell.

So, if you’re a Python developer and want to make user-friendly apps that can take advantage of all that .NET has to offer, bust out of your command-line world give IronPython a spin.

Tips and Tools for Better, Faster Writing

I’ve been writing here at Techerator for over a year, but only recently have I decided to take steps to improve my writing and time efficiency. You probably know the drill: sit down at your desk, check out Twitter, open your word editor, Tweet something, check out Facebook, decide on a title, Facebook about how hard it is to write, go reward yourself with a cup of coffee, I wonder what’s on CNN…

We can do better than this. Without the massive amount of distractions inherent to the Internet our writing has more substance and fewer errors. Writing can be such a joy, but it’s so easy to get off track — how can we sweep away the distractions and get the best version of our content on the page quickly? Here are a few tips and tools that have cut my typical write time in half, and I like to think these tricks have made my writing better as well.

1. Do your research before you start writing

This seems like a no-brainer, but I think a lot of people (myself included) ignore this very basic concept. Until recently, I had a tab in my browser dedicated to my WordPress post editor and I would rapidly switch back and forth typing a sentence or two at a time as I figured out what I planned to say.

Grab a notebook (you know, that old paper version of the internet) and jot down your ideas as you’re reading. Collect all of the images you plan to use, and formulate an outline on paper. After 15-20 minutes of dedicated reading and establishing your position on a topic, you’ll be amazed how prepared you feel to write. When we have a solid stance on something, our natural instinct is to share that feeling.

2. Use BreakTaker

You need to take breaks while you’re working. It’s easy to get sucked into your project and forget to stretch, sit up straight, or even breath properly — this costs you productivity, and more of it than you’d expect. Techerator’s own Evan Wondrasek created a useful tool called BreakTaker that will remind you to take a break at user-defined intervals and offer suggestions for your 60-second breather. Set it up and use it. Evan is working on a feature that will kick you in the groin if you ignore your BreakTaker.

3. Eliminate the distractions and write… JUST WRITE

This is the meat of my argument, and trust me, eliminating your distractions will make writing so fast that you’ll be back to your Xbox in surprising time.

Here’s what you do: Gather your materials; you should have everything you need to complete your article. Disable your wi-fi and close your browser. Now, open your text editor… but screw your old text editor. If you’re running on a Mac, WriteRoom is the tool for you, and if you’re on Windows, Dark Room is almost the exact same thing.

WriteRoom and Dark Room are minimalistic editors that occupy your entire screen and allow you to fully engage your material. You can change the colors to fit your preferences, but seriously, green on black is so awesome I don’t know why you’d want to change it. Try these editors with the lights off — writing in a dark room is a technique some of the most successful bloggers use (like @arrington). Combine with headphones; now you’re big-time. With nothing else to draw your attention, you will absolutely blaze through your article.

4. Proof read with a partner

I know, this seems over the top —  but believe me, it is completely possible and makes a world of difference. If you’re a writer, you probably have writer friends, or at least writers that contribute to the same blog or newspaper. Coordinate with a writing partner to exchange articles at a specific time to quickly proof, edit, and offer notes for each other. It takes 10-15 minutes at most, and the perspective offered by a reader will improve your word choices, your story flow, and on rare occasion they’ll recommend that you scrap it… because sometimes we convince ourselves that total garbage is worth publishing. Get a buddy and your writing will be better and your editing much quicker. Your managing editor will thank you.

These tricks have helped me reduce my write time and improve the quality of my content, and if you’re diligent, they’ll work for you, too. Good luck out there, and if you have tips that work for you, please share them in the comments.

How to Reset Your Cr-48 Chromebook to its Default Factory Settings

Google’s Cr-48 Chromebook was distributed to beta testers in February 2011 and was public’s the first glimpse at a netbook running the Chrome OS. Since its release, the Cr-48 has undergone a number of updates, and on occasion, the software changes create a problem that can be hard to fix with the limited number of resources available for Chrome OS issues. Not to worry, follow these steps to reset your Cr-48 to its default factory settings and you’ll be back in no time.

Note:  Friendly reminder that selling your Cr-48 is against the TOS — don’t be that guy!

1. Remove the battery and flip on the ‘Dev’ switch

Power down your Chromebook, flip it over and remove the battery. The Chromebook engineers cleverly hid the Dev switch behind a piece of black tape. The tape covering the switch can be found right next to the battery pins (see below). Flip that very tiny switch, and do so carefully.

Bottom view
Bottom view after battery is removed
The hidden 'Dev' switch

2. Boot into Developer Mode

Turn on the power and allow it to boot until you reach the Sad Chromebook screen. At this point, hit Ctrl+D to enter Developer Mode and initiate the wiping of your partition. The wiping initiates automatically and takes just a few minutes. When the “recovery” has completed, you’ll be prompted to reboot. Turn off the Chromebook and move on to step 3.

When you see the sad Chromebook, hit Ctrl+D
Down the rabbit hole

3. Power down and flip off the ‘Dev’ switch

Pretty self-explanatory, but we don’t want to stay in Developer Mode, so once again remove the battery and put the switch in its original ‘off’ position.

4. Reboot and reconfigure

You should be able to reboot now and you’ll be greeted with one final message to let you know you’re back in Normal Mode. After a minute or so, you’ll be prompted to connect and configure.

Transitioning back to Normal Mode
You're done!

That wasn’t so hard! In fact, once you’re configured, Chrome OS will automatically update, so you’ll be exactly where you want to be. Start to finish, this shouldn’t take more than 15 minutes.

Don’t be afraid to experiment with your Cr-48. Heck, maybe you want to try to install Ubuntu Linux on it. The worst that can happen is that you’ll be out 15 minutes. Have at it!

How To Embed Images Directly Into Your HTML

When you code a web page, you’ll oftentimes want to include images. In almost every case you’ll throw down a line of code that looks something like this:

alternative text

But did you know that you can embed your image directly into the HTML without having to link to an external file? Yep, but first, why would you want to? In a word, portability. In certain cases, you may want to be able to pick up your page and simply relocate it without worrying about whether linked images are going to transfer correctly as well. How do we do this? Observe.

Let’s say you have an image that you want to include in your markup — when you link to it, the browser interprets it as encoded data in a format dictated by your tag. In theory, you can convert the image directly to encoded data and put it directly into the src parameter, right? Let’s find out.

A Blue Star is a tool for converting data, including images to Base64 encoding. It allows you to upload an image and then spits out the Base64 conversion for you. After uploading an image, you’re left with an image tag that has a stream of Base64 code instead of an image location.


beastie.png

Cute, right? It’s not exactly reader friendly, but look below to see how the browser interprets it — cool, that’s eight-bit me! And no linked image required!

beastie.png

If you’re interested in trying this on your own without a pre-made base64 conversion tool, pay special attention to data:image/png;base64, which precedes your converted string in the src of your image tag.

Whether you’re creating a Read Me or streamlining your file structure, embedding images directly into your HTML may be just the thing you need. This isn’t practical for day-to-day decide, but at least now you have the option.

“Batch” is the ultimate mobile photo sharing app for iPhone

In the smart phone era, everyone is an amateur photographer. Equipped with high-def capabilities and nearly bottomless storage, we produce a lot of photos on a daily basis which we’ve opted to share individually on Twitter or in bulk on Facebook. The problem is that sharing full albums with friends requires a bit of effort — downloading to your desktop, uploading to Facebook — why can’t we do it on the go?

Batch is an iPhone app that allows you to easily share large numbers of photos with your friends without needing to make a stop at your computer. Sharing photos from your phone isn’t exactly a game-changer, but Batch is one of the first to offer a way to share many pictures with just a few taps.

Credit: iTunes App Store

The beauty of Batch is its simplicity. A focused design lets you snap pictures, tag friends, and share your albums without any fuss. Friends can leave comments or simply ‘Like’ what they see. Batch allows you to post a link to your albums on Facebook and Twitter for friends to view anywhere. Photos dominate the screen and you can easily flip through pages of your own pictures or albums posted to your feed by friends. Privacy settings are a cinch, letting you make some albums private or share with just a few friends at a time.

The downside? Batch requires a Facebook account for login. But come on, you already have one of those…

Batch keeps your photos safe and your friends updated. If you take a lot of pictures with your iPhone, batch is an absolute must. Photo-sharing apps seem to be the big thing right now, with Instagram and Path making big gains each month, but Batch is the first to perfect the idea of sharing full albums on the go.

Take a boatload of photos, share them with Batch.

ShiftEdit: A Web-Based IDE for PHP, Python, Ruby and More

If you’re a programmer or developer that juggles several projects at a time, your code can sometimes be lost between multiple workstations, or worse, lost in some sort of catastrophic system failure. If only you’d had a chance to run a backup first! With everything going to the cloud these days, wouldn’t it make sense to have your valuable projects protected in the fluffy white stuff as you work on them?

ShiftEdit is a web-based development environment for HTML, PHP, Ruby, Python and more, and they’re adding new languages all the time. Like the usual desktop-based WYSIWYG counterparts, ShiftEdit offers ‘Code’ and ‘Design’ views for creating your applications, as well as syntax highlighting for their expanding portfolio. As you code, your projects are automatically saved, safe and sound in the cloud and accessible from any computer with a browser and internet connection.

Code, design, and split views

If you require FTP access and database connectivity for your projects, ShiftEdit gives you the ability to connect to one site for free with the option to add unlimited sites by upgrading to their Premier service ($5/month). ShiftEdit also gives you access to basic version control tools in case you’ll be collaborating with other users.

FTP and database connectivity

If you’re looking for enterprise-class tools that help you whip out projects at lightning speed, ShiftEdit may not be everything you need. The IDE currently lacks auto-complete functionality and only provides real-time syntax debugging for JavaScript and PHP. Combine that with a finicky FTP tool, and you may want to steer clear with your high-impact projects. That said, ShiftEdit is on the right track to being a feature-rich IDE with new things being added all the time, like Dropbox support.

With more and more production-grade development tools becoming web-based, don’t be surprised if you’re developing straight to the cloud in the next few years. Give ShiftEdit a try and put yourself ahead of the curve.

Four HTML5 and JavaScript Frameworks To Jump-start Your App Development

Let’s just face the facts: Flash is dying, platform/browser agnostic development is in, and Windows 8 is bringing HTML5/JavaScript to desktop development. Love it or hate it, as a developer you’ll probably need to familiarize yourself with the finer points of HTML5 and JavaScript-driven application design, but where does a person start? Traditionally HTML and JavaScript are used for website markup and making pretty transition effects, so how do we get from high school level web design to making HTML5/JS a realistic front-end for enterprise class applications?

HTML5/JS frameworks are beginning to pop up as viable development environments for the entire range of web-based applications, from desktop to mobile. Here are four HTML5/JS tools that will turbocharge your apps and keep you savvy with this new trend in development.

1. Yahoo! Cocktails

Yahoo recently announced its newest mix of HTML5, CSS3, and JavaScript tools, and believe it or not, Yahoo still knows how to bring decent services to the table. Cocktails brings existing Yahoo! services like YQL and YUI together with HTML5/JavaScript tools for rapid multi-device and multi-platform development. The most impressive aspect of Cocktails is its integration with Yahoo!’s Mojito, which allows JavaScript functionality for your apps even if the device has JavaScript disabled by running scripts on the server side. Yahoo! isn’t dead yet!

2.  SproutCore

SproutCore is an open-source set of tools built using MVC (model-view-controller) architecture for creating universally accessible, scalable, and speeding applications. The team that created SproutCore offers many easy-to-follow guides for beginners, and the well-established community of developers make troubleshooting relatively pain-free. Of the frameworks I’ve encountered, SproutCore is the most polished…and it doesn’t hurt that it’s free.

3. LimeJS

If your forte is creating web-based games, LimeJS is a framework for rapid development of native-experience touchscreen apps for mobile devices or desktop browsers. This simple but flexible tool set is free to download and takes the headaches out of creating rich cross-platform user experiences with standardized code and solid community support.

4. Sencha

The only non-free framework on this list, Sencha is meant for industrial strength app development. Sencha offers an array of tools like a visual designer, rich spreadsheet support, CSS3 animator, and skinning to put a unique look and feel to your application. The Sencha API allows for rapid development for touchscreens or standard desktops, and while it isn’t free to download, Sencha provides professional support and training for its customers. User interface, app functionality, and data connectivity — Sencha does it all.

Conclusion

Will HTML5/JavaScript bring about the downfall .NET/WPF app development? Not anytime soon. But if you’re looking to bring your application to as many users and devices as possible, HTML5/JS is your ticket to fame. These frameworks will get your started, and if you have a favorite not listed here (there are many), please leave it in the comments.

Domainr Makes Domain Search (Almost) Pain-Free

If you’re starting a new web-based project, searching for suitable domains can be the most frustrating part. Heck, domain names are so important to the success of your venture that many people wait to name their product until they know which domains are available. Domainr helps to ease the pain of this process.

Domainr's clean search interface, complete with innuendo.

Domainr is an interesting tool for domain search that goes through almost every top-level extension out there and lets you know if your query is available in some form, discombobulated as it may be. A single search for a root word returns a listing of several possibilities from which to choose, and Domainr does its best to indicate whether the options are available or already taken. Probably my favorite part is that the search returns possible short URLs for your service.

If a particular domain is available, Domainr gives you several options for registering it and probably collects a little bit of referral coin in the process. If the domain is taken, Domainr provides a link to “Make an offer” which is facilitated by Sedo, a domain brokerage company. Now, I’ve never worked with a company like Sedo before, but I’ve attempted to negotiate a domain purchase on my own and got the guy as low as $45,000 — I can only imagine Sedo would do a better job. If the domain really matters to you, it is probably wise to go to the professionals.

If you’re in the market for a domain, search quickly with Domainr. Chances are quite good that your desired domain won’t be available, but Domainr does a great job of offering alternatives, and sometimes the interesting spelling techniques can lead to an inspired name that is completely different than your first choice. Oh, and don’t forget — they have an iPhone app, a lifesaver for those who tend to get inspired in the bar.

Good luck out there.

A Challenger Appears: Chime.in Enters the Social Networking Ring

Bill Gross has been getting a lot of press lately. The serial entrepreneur and CEO of UberMedia masterminded keyword search advertising in the heydey of the dotcom era, a system Google has perfected to earn billions, but Gross now believes he’s onto a bright idea in the social network space — with Chime.in. In a territory saturated with household names like Facebook, Twitter, and Google+, Gross plans to set Chime.in apart by filtering the noise.

Chime.in, which made its public debut on October 18, refers to itself as an “interest network,” but what exactly makes it different from the social networks we already use? Gross seems to be aware the just another social network isn’t going to be a winner, but he’s developed an idea that may cause some ripples. At a glance, Chime.in is the same as any other social network with the ability to post status updates up to 4,000 characters (called “chimes”) and share media publicly or privately with friends. What’s causing some to take notice is that Chime.in allows the users to be in full control of the advertisements displayed on their pages and in their posts. In fact, Gross plans to split the proceeds from ad revenue 50/50 with the users. Whaaaat?

E! Online profile on Chime.in

Paid social networking? Really? Oh boy. If you thought Facebook was addicting, now imagine getting a paycheck for using it. But will Chime.in be able to lure the masses with financial incentive? I personally doubt it, because nothing makes a website “uncool” more quickly than pasted everywhere (you’ve seen Social Network, right?). So, what exactly can Chime.in offer its users? According to Gross, content more relevant your interests. Hmmm…color me skeptical.

When you first start your account, you’re asked to check a few boxes to help decide the news bits you’ll receive, but despite my best efforts, I still have Ashton Kutcher poisoning my “chimeline” — perhaps I’m in denial, and Kutcher really IS relevant to my interests. For the most part, the Chime.in is Google+, but with the exception that I have almost no confidence in the effort — I’m probably not going to put too much time into a social network that I honestly don’t think will be around in 12 months.

Dude, why are you here?

Some companies have already committed to providing content to Chime.in, like E! Online and Disney, but there seems to be very little disparity between the company profiles of this new social network and the well-established communities already present on Facebook. Am I missing something here?

Maybe I’m not being totally fair, because the one nice thing is that you can sign into Chime.in with your existing Facebook or Twitter accounts. I should also note that I’m pleased to see more competition for Facebook, because Zuckerberg’s service only gets better as he sees ideas to borrow.

Is Chime.in worth your time? At this point, I say no. I haven’t had a chance to try the mobile apps, but Chime.in is so feature-poor that I’m not sure I need to. Is Chime.in poised to be a Facebook or Twitter killer? Not yet. From my first impressions I would guess not ever.

Chime.in has advertised itself as a replacement for social networks (Facebook, Twitter) and bookmarking sites (Digg, Reddit), but at launch it looks like a desperate attempt at a Google+ clone. If that piques your interest, Chime away.

Is Nokia building a Google Wallet competitor?

Nokia has alluded to a Near Field Communication (NFC) driven wallet app for a long time, but is it finally almost here? According to NFC Rumors, Nokia is in talks with JP Morgan to bring an NFC payment app to Windows Phones and possibly devices powered by Symbian, their home brew OS.

Nokia is still the reigning leader in the number of handsets they produce each year, and this could provide much-needed competition for Google’s runaway train Android, which has been giving the Windows Phone an unceremonious ass-kicking in recent months.

Google Wallet, which has been released for public testing on the Sprint network and only with the Nexus S, has been met with positive reviews but is also being met with resistance, as payment with Wallet is contingent upon the presence of a MasterCard PayPass terminal. Nokia and Microsoft entering the fray may bring some clout to the idea of ubiquitous mobile payments and hasten the transition from traditional payment options.

So, if the rumor holds true, what does that mean for us? For starters, it gives credence to Google’s idea of carrying your wallet in your phone by showing the public that companies will be competing for the space. This should allow the mobile payment niche to start maturing and gain consumer confidence. It also shows that Nokia and Microsoft are poised to make some big moves with Windows Phone 7 on Nokia hardware.

A lot is unclear about this deal, like whether Nokia will be producing the software or simply facilitating it with hardware. Supposedly, we’ll be finding out soon, as the deal is with JP Morgan is nearly complete.