This is a mirror of official site: http://jasper-net.blogspot.com/

Pwn Plug Standard

| Friday, July 15, 2011
pwnplug.png

The first-to-market commercial pentesting drop box.

:: Maintains a covert, encrypted, firewall-busting backdoor into your target network [Details]
:: Includes "Plug UI" for simple web-based setup
:: Tunnels through application-aware firewalls & IPS
:: Sends an SMS message when SSH tunnel is activated
:: Preloaded with Ubuntu, Metasploit, SET, Fasttrack, SSLstrip, nmap, dsniff, netcat, nikto, nbtscan, scapy, ettercap, JTR, medusa, & more!
:: Unpingable and no listening ports in stealth mode

Manuals: [Documentation]
Pwn Plug Overview: [External Link]

Action Shots
Pwn Plugs deployed with our stealthy printer PSU and air freshener decals, available here

Read more: Pwnie Express
QR: pwnplug.html

Posted via email from Jasper-net

Plug computer

|
armada-plug-computer.png

A plug computer is a small form factor server, intended to provide network-based services within the home. Built on a Marvell system-on-chip, the Marvell plug computer enables high-performance, always-on, always-connected, and environmentally-friendly computing that is readily available for developers. Unlike other embedded devices in the home it contains a gigahertz- class processor designed to offer PC-class performance.

The plug computer is suitable for file sharing, running a media server, back-up services, and remote access functions. It can be used as a bridge between home computing devices and Internet-based services. Plug computing is quickly expanding—delivering new devices, services, value-added applications, and advanced network connectivity to users.

Software
The plug ships with Linux, the most popular open-source operating system. However, any operating system that is compatible with ARM CPUs—such as FreeBSD, NetBSD, Windows CE, etc.—may potentially run on the platform.

Applications
The range of applications is bounded only by the imagination of the developer.
Examples of typical use cases:
Compact, high-performance file server for home computers.
Multimedia server for DLNA-enabled players, such as the Sony PS3.
Web proxy, enabling fast, cached access to Web sites.
Storage of home video surveillance streams.
Automation of downloads and uploads to Web sites.

Read more: PlugComputer.com
QR: https://chart.googleapis.com/chart?chs=80x80&cht=qr&choe=UTF-8&chl=http://www.plugcomputer.org/about/

Posted via email from Jasper-net

How to Setup Rsync Backups on Linux the Easy Way

| Thursday, July 14, 2011
Most people these days use some type of online backup like Dropbox, but what if you just want the same feature, but backing up to an external hard drive instead? Here’s how to do it the easy way.

In the past, we showed you how to synchronize files and folders with SyncToy, however, SyncToy only works for Windows. On the other hand, Rsync is an open source tool that works on any computing platform. Whether you are on Windows, Linux, or Mac, Rsync backups files and folder on any of these platforms.

Rsync comes as a command line utility, and the secret to make it work, lies in how skilled you are with command line switches. If you loathe the command line, Grsync gives a nice user interface for Rsync, and it is also available for Windows and Mac.
Getting Started with Grsync

Install Grsync with your package manager.

software_center1.png

Prepare a folder, ideally somewhere outside your PC – an external hard disk, or a network storage drive, for your backups. Once you have done that, open Grsync, and create a new session.

Read more: How-to geek
QR: https://chart.googleapis.com/chart?chs=80x80&cht=qr&choe=UTF-8&chl=http://www.howtogeek.com/66348/how-to-setup-rsync-backups-on-linux-the-easy-way/

Posted via email from Jasper-net

Twitter for Android gets push notifications, multiple account support

|
newandroidappupdate-1310600853.jpg

Having a hard time juggling your full-cast reproduction of Harry Potter masquerade Twitter accounts? No worries, the firm just sent out an update to its Android app that will let you switch between multiple accounts with ease. It's almost magical. Not saddled with the burden of weaving a complex narrative across multiple online identities? That's okay, there's something here for everyone; this update includes push notification, updated home screen widgets, and assorted bug fixes. Version 2.1.0 is live today, assuming you're rocking Android 2.1 or higher.

Read more: Engadget
QR: https://chart.googleapis.com/chart?chs=80x80&cht=qr&choe=UTF-8&chl=http://www.engadget.com/2011/07/14/twitter-for-android-gets-push-notifications-multiple-account-su/

Posted via email from Jasper-net

PDF Masher – Convert PDF Into HTML, Optimize For eBook Readers

|
PdfMasher.png

PDF Masher has been developed to remove clutter, like, bloated headers and footers, irrelevant pages from PDF documents to make them ready for your eBook reader. Since many eBook readers don’t have options to optimize the PDF document viewing, it becomes frustratingly hard to first zoom out the page and then start reading the text off the e-book reader screen, which is in some cases, doesn’t appear clear on the screen.

PDF Masher not only transforms PDF document into HTML format but allows changing the way you read documents on your eBook reader. It provides convenient options to remove and adjust headers and footers text, remove selected text elements from the pages, change text state to title, footnote and header, etc. The columns headers let you sort the PDF document by page, rows, columns, font size, text length, state, and document text.

Read more: Addictive tips
QR: https://chart.googleapis.com/chart?chs=80x80&cht=qr&choe=UTF-8&chl=http://www.addictivetips.com/windows-tips/pdf-masher-changes-pdf-into-html-optimizes-it-for-e-book-reader/

Posted via email from Jasper-net

Detecting and Changing a File’s Internet Zone in .NET: Alternate Data Streams

|
I spent most of yesterday investigating some weird behaviour in MEF, which I’ll discuss in another post. I was saved by Twitter in the guise of @Grumpydev, @jordanterrell and @SQLChap who came to the rescue and led me down a very interesting rabbit hole, to a world of URL Zones and Alternate Data Streams. Thanks chaps!

If you download a file from the internet on Windows 2003 or later, right click, and select properties, you’ll see something like this:

BlockedFile%25255B5%25255D.png?imgmax=800

The file is ‘blocked’ which means that you will get various dialogues if you try to say, run an executable with this flag set.

Any file on NTFS can have a ‘Zone’ as the flag is called. The values are described in this enumeration:

typedef enum tagURLZONE {
  URLZONE_INVALID          = -1,
  URLZONE_PREDEFINED_MIN   = 0,
  URLZONE_LOCAL_MACHINE    = 0,
  URLZONE_INTRANET,
  URLZONE_TRUSTED,
  URLZONE_INTERNET,
  URLZONE_UNTRUSTED,
  URLZONE_PREDEFINED_MAX   = 999,
  URLZONE_USER_MIN         = 1000,
  URLZONE_USER_MAX         = 10000
} URLZONE;


The Zone is not standard security information stored in the file’s ACL. Instead it uses a little known feature of NTFS, ‘Alternate Data Streams’ (ADS).

Sysinternals provide a command line utility streams.exe that you can use to inspect and remove ADSs, including the Zone flag, on a file or a whole directory tree of files.


Read more: Code rant
QR: detecting-and-changing-files-internet.html

Posted via email from Jasper-net

WCF on intranet with windows authentication: Kerberos or NTLM (Part 1)

|
The issue

When we build enterprise level SOA system on top of windows servers, if the environment is with Active Directory, using windows authentication is probably the most appropriate authentication mechanism which is secure, straight forward to build and easy to maintain. Underneath WCF's windows authentication implementation, two SSP are used: Kerberos and NTLM. You might encounter the same issues like I did, here I want to share some of the experience come from my trouble shooting.

If we use domain user to host a WCF service, and call this service from another machine, very likely we will have this error:

    A call to SSPI failed, see inner exception. ---> System.ComponentModel.Win32Exception: The target principal name is incorrect

There are quite a lot articles (1, 2, 3, 4) discussing this issue, basically their solution is to:

    use setspn.exe to create an SPN for the domain account
    configure at client side, set spn as client identity

However, the odd thing is actually we can skip step 1, and set a dummy string in step 2, it also works. Why? I am not the first one who has this question, these 2 posts (1, 2) has the exact same question against this. So, I decided to dig deeper and find the root cause.


Read more: Tianxiang Chen's Tech Blog
QR: wcf-on-intranet-with-windows-authentication-kerberos-or-ntlm-part-1.aspx

Posted via email from Jasper-net

Top 9 Google-A-Licious Extensions for Your G+ Profile

|
facebook.jpg

Google+ social network site is nearing two weeks since its premiere launch, and a multitude of things have changed since its inception. Web user reaction to the service has prompted Facebook to announce its plans for a slew of new features to hold off the new kid in town.

Despite the predictions, and assumptions and its initial launching, the buzz continues to flow on the web over its success and demise, as the question on everyone’s lips is: Who will be the Torch Bearer of the Social Network Race.

Facebook spanked Google+ with its announcement of jaw breaking video chat application and that application is going well according to Facebook sources , however the Google+ market is rising rapidly and its stock holders are celebrating Christmas in July ! .

However, if Google+ plans on leave Facebook in its dusty trails, and attract Facebook users over to its side, it needs to produce and introduce some more unique features to its already sleek interface.
Developers have not wasted any time in seizing the opportunity to create and come up with some pretty nifty extensions for their preferred network.

They’ve been working diligently down in the Google labs and they’ve already emerged with some pretty good features and several extensions for Google Chrome which make the use of Google+ not only more user friendly but also fun to spend time on utilizing its many features.

STG has gone on a G+ Quest and has discovered some unique extensions for users of Google+ which will make your G+ Social networking experience even more enjoyable !

1. Google+ Css tricks
2. Google+ Everywhere

3. Google+ Facebook


Read more: SkyTechGeek
QR: https://chart.googleapis.com/chart?chs=80x80&cht=qr&choe=UTF-8&chl=http://skytechgeek.com/2011/07/top-9-google-a-licious-extensions-for-your-g-profile/

Posted via email from Jasper-net

How to Decrease the Pain in Building Distributed Systems

|
This video is a collection of scalability principles, anecdotes and practices from experts (and personal experience) from engineering, operations, and business perspectives. Building distributed systems is painful. Many organizations are approaching the point where their data and application infrastructures are being run on many servers (in the cloud or datacenter). Our software practices don’t reflect that, often with disastrous results.

Read more: Software Development Videos and Tutorials Directory
QR: https://chart.googleapis.com/chart?chs=80x80&cht=qr&choe=UTF-8&chl=http://www.softdevtube.com/2011/07/11/how-to-decrease-the-pain-in-building-distributed-systems/

Posted via email from Jasper-net

How Google+ is built

|
If you’re curious about all things Google+, you’re in luck. The project’s technical lead, Google engineer Joseph Smarr, is currently hosting an online question and answer session about the service — and he has already shared a number of details about Google+’s development, technology, and plans for the future.

On Monday, Smarr opened himself up for questions on Q&A website AnyAsq.com, a Y-Combinator-backed site reminiscent of Formspring.me where users can invite others to “ask me anything.” People sign in to post questions on AnyAsq through their Twitter accounts, but a host’s responses can be longer than 140 characters.

Smarr has already answered 270 queries, and as of press time, his AnyAsq page is still open for questions. Here’s some of what he has revealed so far:

    Google+ fast tracked its development from the start
    “We put extra emphasis on engineering speed/agility–we try to release code updates on a daily basis while still keeping quality/stability/latency as high as you’d expect from Google.”

    New features are absolutely on the way
    “…Personally I’m eager for many of the features other Google+ users have asked for recently: smarter ranking/collapsing/filtering in the stream and notifications… integration with more Google products… and an API so I can start hacking on cool uses of circles, etc.”

    Hashtags are on Google+’s radar
    In response to a question about adding hashtags to help filter Google+ posts, Smarr responded: “Personally, I want this too.”


Read more: GigaOM
QR: https://chart.googleapis.com/chart?chs=80x80&cht=qr&choe=UTF-8&chl=http://gigaom.com/2011/07/12/how-google-plus-is-built/

Posted via email from Jasper-net

I want my installer to do this (or something like it)...

|
lo-install%25255B3%25255D.gif?imgmax=800

Despite the eighty-hour weeks, the relatively low pay, and the constant threat of being whipped if you don’t code fast enough, there’s something appealing about developing videogames professionally. After all, if videogames are superfun, then being immersed in them fourteen hours a day is basically heaven.

Of course, I never had a real desire to find out and ended up sticking with “normal” programming throughout my career. While I could always code whatever I wanted to do on the side, I never thought I’d ever get paid to write a videogame. That is, until I got paid to write this:


Read more: Greg's Cool [Insert Clever Name] of the Day
QR: i-want-my-installer-to-do-this-or.html

Posted via email from Jasper-net

Barrelfish - Microsoft's other OS

|
barrelfishdesign.jpg

With multicore becoming the norm we need operating systems that can take advantage of them without wasting time trying to keep the show on the road with centralized management. Barrelfish is Microsoft's experiment in viewing the hardware as a collection of networked processors.

Since it became difficult for hardware manufacturers to increase clock speeds much above 3Ghz we have had to change our approach from faster serial processing to more parallel processing. The big problem is that while operating systems such as Linux, Unix and Windows can make use of multiple processors they were never designed to do so efficiently or in a modern way.

Researchers at Microsoft Research working with ETH Zurich think that Barrelfish, a new OS built from scratch, might be a way forward. It was started as a project back in 2007 and they are very clear that this is not a Windows replacement - not now, not ever. The whole point of Barrelfish is to find out how to build a better multiprocessor system. One of the key properties that the new OS needs is scalability. The number of cores available on today's machines varies but over time it is only going to increase and the operating system has to be able to keep up.

Read more: I Programmer
QR: 2729-barrelfish-microsofts-other-os.html

Posted via email from Jasper-net

Adobe Released 64-bit Flash For Linux

|
Adobe has been taking quite a bashing from Linux supporters of late. First, there was the issue of them dropping AIR for Linux and then came the bashing because of the lack of updates on the experimental 64-bit Flash for Linux. Well, guess what! They have just released Flash 11 and it includes native 64-bit support for Linux as well. When they discontinued their experimental 64-bit Flash earlier this year, Adobe promised to release a 64-bit version of Flash for Linux when they release the next major version. They have kept that promise.

Read more: Slashdot
QR: Adobe-Released-64-bit-Flash-For-Linux

Posted via email from Jasper-net

July 2011 Security Release ISO Image

|
Overview

This DVD5 ISO image file contains the security updates for Windows released on Windows Update on July 12, 2011. The image does not contain security updates for other Microsoft products. This DVD5 ISO image is intended for administrators that need to download multiple individual language versions of each security update and that do not use an automated solution such as Windows Server Update Services (WSUS). You can use this ISO image to download multiple updates in all languages at the same time.

Important:   Be sure to check the individual security bulletins at http://www.microsoft.com/technet/security prior to deployment of these updates to ensure that the files have not been updated at a later date.

Read more: MS Download
QR: details.aspx?id=26778&

Posted via email from Jasper-net

Kinect as a Baby Monitor–I set it up in an hour

|
It has taken far longer to write this post than it was to actually install Kinect as a baby monitor.

In less than an hour I was watching my little boy in infrared while he slept in his bedroom. It wasn’t that hard to setup as I relied on one Kinect device and two generic laptops, capable of 40 FPS.

In this post I will take about the architecture and how you can setup Kinect quickly and easily. Even in complete darkness you can see the outline of your child asleep in bed. And if anyone walks in the room they are immediately visible, thanks to the depth sensor which consists of an infrared laser projector combined with a monochrome CMOS sensor, which captures video data in 3D under any ambient light conditions.


What I built

      Simple Design
      The first room is the baby’s room where I have one laptop and one Kinect device.

It took me about an hour to get all this done. But it was mostly making sure the “Free” software was installed. The laptops already had Windows Installed and my Kinect device was like $130. I need to baby proof this setup, obviously. He’s still crawling but as you read this I will find a safer location.

As you can see from the diagram above the Kinect device is obviously in the baby room connected to a laptop. Preparing the laptop and the Kinect in the baby room was easy.

Before doing any of these eight steps, make sure that you have two laptops with a proper version of Windows installed, and make sure you have connectivity to a Wireless Network . Also make sure, from a hardware point of view, that you have your Kinect device. My Kinect device came with one wire that allowed me to connect both to the electrical outlet and to the USB port to laptop 1 in the baby’s room.

Read more: Bruno Terkaly - Developer Evangelist -
QR: kinect-as-a-baby-monitor-i-set-it-up-in-an-hour.aspx

Posted via email from Jasper-net

גוגל פלוס יותאם לשפת הסימנים

| Wednesday, July 13, 2011
google-hangouts-signlanguage-support.png

גוגל פלוס, הרשת החברתית החדשה של גוגל, מקדמת אפשרויות תוכנה שיתאימו את אחת מהפונקציות הפופולאריות שלה, ה-Hangouts, גם לשפת הסימנים. בפרסומים שונים ברשת, מתארים המפתחים את הרצון שלהם לוודא שאוכלוסיית החרשים וכבדי השמיעה לא נשארת מאחור, בכל הקשור לשיחות הוידאו מרובות המשתתפים שמאפשרת גוגל פלוס לקיים.
אתגר תוכנה

מבחינת גוגל, מדובר בעיקר באתגר תוכנתי. על פי טענת המפתחים, כיום המערכת שמנהלת את Hangouts יודעת לזהות את הדובר ומאפשרת להדגיש את החלונית שלו, כדי שיתר משתתפי השיחה יוכלו לדעת בקלות מי מדבר באותו הרגע. כאשר כל משתתפי השיחה מדברים ביניהם בשפת הסימנים, אין שום אודיו שמגיע מהמיקרופונים אל שרתי גוגל, והתוכנה של גוגל היום לא תדע מי מהם מדבר. לכן, בגוגל יצטרכו לבצע התאמה, אשר תדע לאבחן מי הדובר באותו הרגע.

האתגר של גוגל, בר פתרון באמצעות עדכוני תוכנה; היות ושפת הסימנים מבוססת על תנועות ידיים וקו ראיה ישיר בין משתתף אחד לשני, הרי שבגוגל יצטרכו להכניס מנגנון שעם הפעלתו יסרוק את הוידאו של כל משתתף ב-Hangout, וישים לב מי מהם מזיז את ידיו על המסך. אותו אדם, באותו רגע, הוא הדובר. סריקות שכאלה לא אמורות להיות גם מסובכות לענקית כמו גוגל, וגוגל מסוגלת להוציא להרצה גרסה ראשונית של אלגוריתם כזה תוך זמן קצר.
לא משאירים אף אחד מאחור

על אף שהיא עדיין בבטא, הרשת החברתית של גוגל, גוגל פלוס, צוברת תאוצה ונבחנת על-ידי אנשים רבים בתור האלטרנטיבה שלהם לפייסבוק. עם השקתה, נוצר סחף של כמויות אדירות של אנשים שרוצים לנסות את השירות החדש, ולראות האם הוא באמת יכול לשרת אותם כאלטרנטיבה טובה יותר מפייסבוק.

Read more: newsGeek
QR: https://chart.googleapis.com/chart?chs=80x80&cht=qr&choe=UTF-8&chl=http://www.newsgeek.co.il/google-plus-accessibility/

Posted via email from Jasper-net

20 Best Free HTML5 Website Templates Of Year 2011

|
...

Few days ago, we had shared some design related articles- Best Free Resources for Designers and Free Fonts for Designers. Thanks a lot to our readers for appreciate these post of ZoomZum. I hope designers and developers will appreciate these best HTML5 templates also and learn something advanced from these useful stuff. You can share your views in our comment section below.

1. Free Website Template Slider Typography

Free-Website-Template-e1310460770290.jpg


2. Free Communication HTML5 wesite template

glob-e1310460840179.jpg

Read more: ZoomZum
QR: https://chart.googleapis.com/chart?chs=80x80&cht=qr&choe=UTF-8&chl=http://zoomzum.com/best-free-html5-website-templates-of-year-2011/

Posted via email from Jasper-net

My biggest recommendation for people learning T-SQL

|
It’s not quite a Best Practice, but it’s something that I see as very important. It makes the difference between someone who might be quite good at T-SQL, and someone who can go past the rest and become one of those people who get asked to solve other people’s T-SQL problems.
TSQL2sDay150x150

It’s easy – you read the plans.

You see, the plans explain to you what you’re actually doing, instead of just following the standard formula to get it done.

It’s the same in many parts of life. If you’re going to be a mechanic, it helps to understand how an engine works. If you’re a pilot, you should understand the principles of flight.

And so it is with T-SQL. We write a query, and the Query Optimizer pulls it apart and translates it into an execution plan. It’s this plan that runs, not our query. Unfortunately, the nuances of this translation demonstrate all of us ignorant. There may be people who understand it better than most, such as some of them people who work on the Query Optimizer at Microsoft.

Read more: SQLblog.com
QR: my-biggest-recommendation-for-people-learning-t-sql.aspx

Posted via email from Jasper-net

SSH tunnel and a half

|
As you all might know ssh is a very popular protocol used to connect to remote shells. I mostly use OpenSSH as a client (I think most of you to). SSH has a lot of cool options but in this post i’m going to write about how to use it to create a secure tunnel.

What is a tunnel?

A tunnel specifies a given port on the local (client) host that is to be forwarded to the given host and port on the remote side. How it works? This works by allocating a socket to listen to a port on the local side, optionally bound to the specified bind_address.  Whenever a connection is made to this port, the connection is forwarded over the secure channel, and a connection is made to the port from the remote machine.

Making the tunnel

Before type the command line to create the ssh tunnel I’m assuming the following topology

ssh_tunnel1.png

If I would like to connect to 192.168.0.2 db server and the database is a postgresql, then the default port is 5432 and the tunnel command line is:

$ ssh -L 5432:192.168.0.2:5432 <user>@<web server>
     _____^______     ______^______
    / local port \   / remote port \

If you are running a postgresql in your own machine you can chose another port to listen in your loop back. I always have a pgsql running in my laptop because I use it in most of my developments and I use port 5435.

$ ssh -L 5435:192.168.0.2:5432 <user>@<web server>

============================================================
 from other terminal
============================================================

$ psql -h localhost -p 5435 -U db_user -d db_name
Welcome to psql 7.3.4, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
 \h for help with SQL commands
 \? for help on internal slash commands
 \g or terminate with semicolon to execute query
 \q to quit

db_bame=#

Read more: easytech blog
QR: https://chart.googleapis.com/chart?chs=80x80&cht=qr&choe=UTF-8&chl=http://blog.easytech.com.ar/2011/07/11/ssh-tips/

Posted via email from Jasper-net

[Windows, C#] Splitting/Forking/Cloning Standard Output

|
For one of my little projects at work, I’ve been creating a utility which will run as a child process which is just hosted as a console application. It prints a lot of output to console, and it would be kinda useful to be able to capture all the output from the child process, either in a text file, or by reading it in the parent process, or both. I know you can capture child process output in the parent process, or redirect it to a file by passing in a file handle to the CreateProcess API. However, it seems rather a shame to also give up the console window output in the same way…

So here I started wondering – shouldn’t it be possible to keep using Console.WriteLine and have the output appear in multiple places, by using some sort of special splitting or cloning pipe? A little research turned up nothing really explicit on what to do, but a few Windows functions which look they could feature somewhere in a solution:

GetStdHandle, SetStdHandle, CreatePipe, CreateFile.

So where do we get started?
Part 1:  Interception

By reading about SetStdHandle, GetStdHandle, and CreateFile with special “CONIN$” and “CONOUT$” files we can see that there’s a few abstraction layers here.

  1.     Top layer: The console class, which we can call WriteLine on.
  2.     Managed stream wrapper: there are properties on the Console class: Console.In and Console.Out which represent the file streams in managed code
  3.     Underlying window ‘standard input/output’ concepts: Windows tracks ‘standard input’ and ‘standard output’ file streams for a process, which seem like they are either wrapper objects, or logical indexes into a table of file handles.
  4.     Raw file handle: suitable for passing to APIs that know and care about low level file handles, and don’t have concepts like standard input and standard output. APIs like ‘Read’ and ‘Write’ (bytes)

Calling SetStdHandle will let us insert our own file handle underneath the logical ‘standard input/standard output’ layer at the raw file handle layer. But we can only make each concept logically point at a single file handle, so what should we insert in order to have output in two places?

Read more: The Activity Designer
QR: windows-c-splitting-forking-cloning-standard-output.aspx

Posted via email from Jasper-net

I'm a technical lead on the Google+ team. Ask me anything.

|
I helped design and build a lot of the circles model and sharing UI for Google+. I was recruited to Google to work on "getting social right" in early 2010. Prior to that, I was CTO of Plaxo, and also its first employee (since March 2002). I've also spent many years working on open standards for the social web (OpenID, OAuth, Portable Contacts, WebFinger, etc.) Since I work for a big/public company (albeit a pretty cool one), I can't provide specific stats, dates for future features, or details of confidential code/algorithms. But I will do my best to be "refreshingly frank" about everything else. :)
   
What software technology stack does Google+ use?

Our stack is pretty standard fare for Google apps these days: we use Java servlets for our server code and JavaScript for the browser-side of the UI, largely built with the (open-source) Closure framework, including Closure's JavaScript compiler and template system. A couple nifty tricks we do: we use the HTML5 History API to maintain pretty-looking URLs even though it's an AJAX app (falling back on hash-fragments for older browsers); and we often render our Closure templates server-side so the page renders before any JavaScript is loaded, then the JavaScript finds the right DOM nodes and hooks up event handlers, etc. to make it responsive (as a result, if you're on a slow connection and you click on stuff really fast, you may notice a lag before it does anything, but luckily most people don't run into this in practice). Our backends are built mostly on top of BigTable and Colossus/GFS, and we use a lot of other common Google technologies such as MapReduce (again, like many other Google apps do).

Read more: AnyAsq
QR: 79-im-a-technical-lead-on-the-google+-team

Posted via email from Jasper-net

New to Parallel Programming?

|
Intel(R) Software Network (ISN) offers many good collaterals on parallel programming. If you are new to parallel programming or you just simply want to thread your application, it is worth to search the white papers on parallel programming in ISN at http://software.intel.com/en-us/parallel/ . Below is a list of current collaterals on basic parallel programming. This list is not complete obviously, but it can help you to start reading on this subject

Read more: Intel
QR: https://chart.googleapis.com/chart?chs=80x80&cht=qr&choe=UTF-8&chl=http://software.intel.com/en-us/blogs/2011/06/30/new-to-parallel-programming/

Posted via email from Jasper-net

What curious property does this string have?

|
There are all kinds of interesting things in the Unicode standard. For example, the block of characters from U+A000 to U+A48F is for representing syllables in the "Yi script". Apparently it is a Chinese language writing system developed during the Tang Dynasty.

A string drawn from this block has an unusual property; the string consists of just two characters, both the same: a repetition of character U+A0A2:

string s = "ꂢꂢ";

Or, if your browser can't hack the Yi script, that's the equivalent of the C# program fragment:

string s = "\uA0A2\uA0A2";

What curious property does this string have?

I'll leave some hints in the comments, and post the answer next time..

Read more: Fabulous Adventures In Coding
QR:  what-curious-property-does-this-string-have.aspx

Posted via email from Jasper-net

Interactive WinForm Tag Cloud Control (Think “Cool, I can add a Word/Tag Cloud thing to my WinForm app!”)

|
SNAGHTML710fde9d%25255B5%25255D.png?imgmax=800

Generate word cloud form some input text. A word cloud is a set of randomly arranged set of words used in your text. The size and the color of each word expresses it's usage frequency. Rarely used words are small and pale. The control is clickable and allows to identify a word under mouse.

Read more: Greg's Cool [Insert Clever Name] of the Day
QR: interactive-winform-tag-cloud-control.html

Posted via email from Jasper-net

Yet another DLL-wrapper for dynamic loading

|
Introduction

Especially when controlling hardware through APIs provided by the vendor, but also when trying to avoid errors during application startup due to certain dlls not being available on the system, dynamic loading of the DLL is a common technique.

The different ways of linking to a dll from C++ have been described in several articles on this site. For those not entirely familiar with the subject, I recommend the article Step by Step: Calling C++ DLLs from VC++ and VB - Part 4 by Hans Dietrich. Unfortunately, dynamic loading involves a lot of repetitive but error prone coding (see below) and extra care is necessary when keeping the code up to date in case the API of the dll changes. In order to reduce the amount of necessary coding, DLL-wrappers have been proposed, see e.g. the LateLoad DLL Wrapper. Besides avoiding code duplication, such a wrapper allows for more sophisticated error checking.

However, the function declarations still have to be extracted from the header of the dll, kept up to date and the code accessing the API needs to be changed. So-called delay loading on the other hand does not require any code changes or extra code but it lacks the flexibility of dynamic loading.

This article proposes a new type of wrapper requiring only minimal code changes to switch between dynamic and static loading but still offering all the features of existing DLL-wrappers and more.


Background

Why use dynamic loading?

Several good reasons why dynamic loading can be useful or even necessary are listed in Hand Dietrich's article and most of them are still valid 7 years later. In addition to the reasons listed there, I have encountered cases where I needed to link to different versions of the dll in response to some user input or depending on the hardware version I accessed and, beleive it or not, where I had to load a dll twice under different names in order to be able to access two pieces of identical hardware.
Delay loading to the rescue?
Delay loading is also described in detail elsewhere. What it does in essence is that it automates the dynamic loading process by having the linker generate the code necessary. It is, if you wish, a linker generated DLL-wrapper. Indeed, it takes care of some of the headaches of the other two methods: No code changes are necessary as delay loading of a dll is simply enabled by a linker switch and unlike for statical loading your application will still start even if it links to a library which is not present on the current system or if it imports a symbol which is missing from the available version of the Dll. Existing symbols are loaded when accessed at runtime from your code.

On the downside, when used without extra error checking, your application crashes as soon as you try to access a symbol that is not present in the loaded dll (but was part of the import library) or if the dll cannot be loaded when the first symbol is accessed. To make sure this does not happen, you could call __HrLoadAllImportsForDll (see delayimp.h but careful: LoadLibrary is not case sensitive but this API is.) manually and disable use of the DLL in case not all symbols could be loaded or you could try to implement more granular error checking by setting hooks that are called when loading a symbol fails. But this involves calling into APIs much more compelx than GetProcAddress() and thus writing (unnecessarily) complex code.
What's wrong with the traditional way?
Nothing. It merely is unelegant, requires a lot of cut and paste and search and replace and it is error prone, especially when APIs change or the vendor ships headers that are out of sync with the dll (well, or, if you mix them up). Also it requires you to change your code when switching from static to dynamic linking.

The demo code includes the code necessary to dynamically load psapi.dll in your application and illustrates this. Ideally you create one header file, say psapi_dynamic.h that contains the necessary typedefs and declaration of the function poitnters. It also contains the declaration of a function that loads the DLL and symbols load_psapi():

#ifndef _PSAPI_DYNLINK_H_
#define _PSAPI_DYNLINK_H_

#include <psapi.h>

typedef BOOL
(WINAPI *
EnumProcesses_t)(
    __out_bcount(cb) DWORD * lpidProcess,
    __in DWORD cb,
    __out LPDWORD lpcbNeeded
    );

typedef BOOL
(WINAPI *
EnumProcessModules_t)(
    __in  HANDLE hProcess,
    __out_bcount(cb) HMODULE *lphModule,
    __in  DWORD cb,
    __out LPDWORD lpcbNeeded
    );

...

extern EnumProcesses_t pEnumProcesses;
extern EnumProcessModules_t pEnumProcessModules;
...

// Try to load the psapi.dll
// returns
//     0 if library was not found,
//     1 if all symbols were loaded and
//     2 if some symbols are NULL
int psapi_load();


Read more: Codeproject
QR: dynlink.aspx

Posted via email from Jasper-net

כיצד לצאת מהמשבר?

| Tuesday, July 12, 2011
אחד הדברים שמעסיקים אותנו כמנהלים זה איך להמנע ממשבר, אבל לפעמים אנחנו נכנסים לתפקיד חדש, הישר לתוך משבר שעשוי למוטט את החברה.

לפני שאנחנו רצים להתמודד עם המשבר רצוי שנבין קודם כל את המצב, את החומרה ובמה נכון לטפל ראשון ובמה אחרון (ולפעמים לאן לא להכנס).
אז איפה אנחנו נמצאים ומה אפשר לעשות?

מתברר שלא חייבים להמציא את הגלגל, ובתחום הניהול נעשה מחקר רב על מקורם של משברים ואופן הניהול הנכון שלהם. לפי פרופ' אברהם כרמלי, תהליך משברי כולל חמישה שלבים, שע"י ניהול נכון אפשר לסיים את המשבר בכל אחד מהם. ניהול כושל והגעה לשלב החמישי יובילו לסוף חייה של החברה.
עיוורון ארגוני (השלב הראשון – משהו קורה, אבל אנחנו מתעלמים ממנו)

הסממנים הם בד"כ סממנים איכותיים ולא כאלו שניתן לראות אותם בדו"חות הכספיים. לכן לא תבחינו עדיין בנטישת לקוחות ו/או בבעיות מכירה עקב איכות מוצר נמוכה. זאת מכיוון שהחברה חיה על תהילת העבר והלקוחות עדיין מוכנים לספוג תקלות, שירות קלוקל ומוצר מיושן. כמנהלים חדשים או ותיקים תוכלו לזהות שאתם בשלב הזה על בסיס הסימנים הבאים:

1. סובלנות בחברה לחוסר ביצוע.

2. עודף כ"א/אבטלה סמויה, מבנה ארגוני לא מעודכן ו/או ריכוז סמכויות במטה.

3. פרוצדורות מגושמות שאין מאחוריהן תוכן.

4. חוסר במטרות ברורות.

5. בעיות תקשורת קשות בין גופים שונים כדוגמת מכירות, שיווק ופיתוח.

דרכי התמודדות המומלצות הן פיתוח מנגנונים של ארגונים שחסינים לכשל:

1. שיחות עם האנשים והבנה של הלך הרוח.

Read more: newsGeek
QR: https://chart.googleapis.com/chart?chs=80x80&cht=qr&choe=UTF-8&chl=http://www.newsgeek.co.il/crisis-management/

Posted via email from Jasper-net

Upload And Share Files Upto 2GB On Facebook With Filefly

|
filefly-name-folder.png

Facebook serves a recreational purpose for the most part and features like photo sharing, events and chat make it easier for us to justify the large amounts of time we invest on the site. What would have really increased the usefulness of Facebook ten time; a simple file sharing feature. Facebook never added one and focused on ‘improving’ the photo viewer instead. Well, file sharing still hasn’t been added as an official feature, instead there is Filefly; a Facebook app that lets you store and share files on Facebook. The app has a 2GB limit, all uploaded files cannot collectively exceed 2GB. Folders can be created and shared with friends and you can delete the files any time you like.

Read more: Addictive Tips
QR: https://chart.googleapis.com/chart?chs=80x80&cht=qr&choe=UTF-8&chl=http://www.addictivetips.com/internet-tips/upload-and-share-files-upto-2gb-on-facebook-with-filefly/

Posted via email from Jasper-net

Apply Alternating Line Color Formatting In Visual Studio 2010 Code Editor

|
Alternate-Line-color.png

Do you find it difficult to find certain code modules from an ever-growing source code file? Since Visual Studio 2010 code editor doesn’t provide options to customize the background in order to make code lines look more prominent, users generally try out different themes to get their focus straight on code editor. Alternating Line Color provides a simple yet effective solution. Just like what Format Painter can do with Excel sheets, it applies alternating color to each line of code, so that users can easily differentiate line breaks and code modules. Additionally, it doesn’t require configuring any settings to bring the alternating colored lines formatting.

Before installing the add-in, make sure that Visual Studio instances are not running in the background. Just run the VSIX executable file to install the plug-in. After installation is finished, launch Visual Studio and from Tools –> Extension Manager, check whether the Alternating Line Color extension is listed or not.

Read more: Addictive tips
QR: https://chart.googleapis.com/chart?chs=80x80&cht=qr&choe=UTF-8&chl=http://www.addictivetips.com/windows-tips/apply-alternate-line-color-formatting-in-visual-studio-code-editor/

Posted via email from Jasper-net

Google+ Already At 10 Million Users

|
"I project that Google will easily pass 10 million users tomorrow and could reach 20 million user by this coming weekend if they keep the Invite Button available. As one G+ user put it, it is easy to underestimate the power of exponential growth."

I bet if people post in the discussion that they need invites, we can scratch each other's backs here. I've been using Google+ for a few days now (Yes I will put you in a circle ;) and have a lot to love, but unless I can gate twitter and Facebook, the best interface in the world won't help me until I can convince my kids' grandparents to move

Read more: Slashdot
QR: Google-Already-At-10-Million-Users

Posted via email from Jasper-net

Tips for Writing Test Cases

|
One of the most frequent and major activity of a Software Tester (SQA/SQC person) is to write Test Cases. First of all, kindly keep in mind that all this discussion is about ‘Writing Test Cases’ not about designing/defining/identifying TCs.

There are some important and critical factors related to this major activity.Let us have a bird’s eye view of those factors first.

a. Test Cases are prone to regular revision and update:

We live in a continuously changing world, software are also not immune to changes. Same holds good for requirements and this directly impacts the test cases. Whenever, requirements are altered, TCs need to be updated. Yet, it is not only the change in requirement that may cause revision and update to TCs.

During the execution of TCs, many ideas arise in the mind, many sub-conditions of a single TC cause update and even addition of TCs. Moreover, during regression testing several fixes and/or ripples demand revised or new TCs.

b. Test Cases are prone to distribution among the testers who will execute these:

Of course there is hardly the case that a single tester executes all the TCs. Normally there are several testers who test different modules of a single application. So the TCs are divided among them according to their owned areas of application under test. Some TCs related to integration of application, may be executed by multiple testers while some may be executed only by a single tester.

Read more: Software testing help
QR: https://chart.googleapis.com/chart?chs=80x80&cht=qr&choe=UTF-8&chl=http://www.softwaretestinghelp.com/tips-for-writing-test-cases/

Posted via email from Jasper-net

How to Migrate from Facebook to Google+

|
If you have a lot of time and information invested in Facebook, it’s not easy moving to a new social network. Here are a few tips on moving your information from your Facebook account to your shiny new Google+ account.

Moving social networks isn’t the easiest thing to do, but luckily there are a few tools we can use to migrate pictures, videos, and friends. Wall posts and messages don’t make sense to migrate between networks so we are going to leave those out.
Export Facebook Information

Start by downloading all of your Facebook information. To do that, log into Facebook and go to account settings in the upper right corner.

fb-settings-01.png

Read more: How-to geek
QR: https://chart.googleapis.com/chart?chs=80x80&cht=qr&choe=UTF-8&chl=http://www.howtogeek.com/67766/how-to-migrate-from-facebook-to-google/

Posted via email from Jasper-net

Communicating between two local Silverlight Applications

|
Introduction

One of the features that I’m surprised to see hardly no one talk about is “Communication Between Local Silverlight-Based Applications”. This is not new to Silverlight as it has been around since Silverlight 3. In other words, this will allow you to have two Silverlight applications running on the same PC talk to one another without using Web Services, etc. I originally was looking into this for a pet project that I was going to use with Kinect, but found this very valuable and decided to share with everyone.

Getting Started

We are going to create two separate Silverlight Applications (select Silverlight 4 or 5 Beta). The First application that we are going to create is the receiver.

Creating the Receiver

Launch Visual Studio 2010 and create a new Silverlight Application and name it “SilverlightReceiver”.

In your MainPage.xaml

<Grid x:Name="LayoutRoot" Background="Yellow">
    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap" Text="...Waiting for Message!" x:Name="txtReceiver"/>
</Grid>


In your MainPage.xaml.cs
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Messaging;
 
namespace SilverlightReceiver
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
            Loaded += MainPage_Loaded;
        }
 
        void MainPage_Loaded(object sender, RoutedEventArgs e)
        {
            var messageReceiver = new LocalMessageReceiver("receiver", ReceiverNameScope.Global, LocalMessageReceiver.AnyDomain);
            messageReceiver.MessageReceived += receiver_MessageReceived;
            
            try
            {
                messageReceiver.Listen();
            }
            catch (ListenFailedException)
            {
                MessageBox.Show(
                    "Cannot receive messages." + Environment.NewLine +
                    "There is already a receiver with the name 'receiver'.",
                    "LocalMessageReceiver", MessageBoxButton.OK);
            }
        }
 
        private void receiver_MessageReceived(object sender, MessageReceivedEventArgs e)


Read more: Michael Crump
QR:  communicating-between-two-local-silverlight-applications.aspx

Posted via email from Jasper-net

Sharing Assemblies between Silverlight and .NET

|
6a012876b389bb970c014e89c7e1db970d-pi

Writing WPF, Silverlight, and WP7 applications it could be useful to share assemblies between these technologies. Since Silverlight 3 and .NET 4 it is indeed possible to not only share source code but share the same binary assemblies. While this wasn’t very intuitive to do with Visual Studio 2010 and Silverlight 3 and 4, now there are separate Portable Library Tools that make this process easier. This article describes how to share assemblies with these different technologies, and the limitations.
Sharing Assemblies

With Silverlight 3 and .NET 4 the format of assemblies is the same with these two technologies. However, of course there’s a difference between the Silverlight and the .NET assemblies. To limit the download sizes that are an important aspect of Silverlight, Silverlight assemblies are reduced in functionality compared to the .NET Framework. The .NET assemblies of Silverlight not only have fewer types included, but the types also have fewer members. For example, a simple core type such as the Enum class offers GetNames and GetValues methods to access all the names and values of an enumeration. These methods are not available with the Silverlight assemblies. A .NET programmer knowing the full-blown .NET environment switching to writing applications with Silverlight soon finds out some limitations. Writing assemblies that should be used with both Silverlight and WPF are restricted to the functionality available with both technologies.

To create shared assemblies between Silverlight and WPF it is possible to create a Silverlight class library.

Read more: Christian Nagel's Blog
QR: sharing-assemblies-between-silverlight-and-net.html

Posted via email from Jasper-net