Curiosity – What's Inside the Cube?
Curiosity – What's Inside the Cube? is an experiment by Peter Molyneux's new studio 22Cans. Originally called "Curiosity", the game was later renamed to avoid confusion with the Mars rover.
Background
Curiosity is a multiplayer social experiment. The game setting is a featureless and minimalist white room in the middle of which floats a giant cube made of billions of smaller cubes ("cubelets") and white, floating text across each layer, usually topic related (hashtag, notifications etc.), with small messages. Players tap the cubelets to dig through the surface of each layer and reveal the next layer below. The goal is to reach the centre and to discover what is inside the cube. Each layer, which has a distinct look or design, contains a clue as to what is in the centre of the cube.[2] Each cubelet destroyed by a player awards them coins. Coins can be spent on tools that temporarily enhance the player's abilities, such as picks ranging from iron to steel to diamond that increase the number of cubelets destroyed with each tap, or firecrackers that can be laid on the cube in long strings to chain together explosions.[citation needed]
22Cans intends to add more gameplay mechanics as the players progress through the cube. Version 2 released on Dec. 7th has included 3 new features: Draw mode, Badgers and Golden Badgers as well as a page graphing various statistics about the cube against time. In addition, Peter Molyneux suggests there may be more to the game than it would seem: "There is something we haven't told everybody about when you play the cube. When you play the cube you're also doing something else. You don't realize you're doing it. [...] You're not just doing things in the cube. You don't realize it but you're doing something in something else as well at the same time." [2]
Peter Molyneux has said that "what is inside the cube is life-changingly amazing by any definition".[3] Critics have stated that the game designer might be over-promising. Wired wrote that "That its contents will have proven to be as world-altering as Molyneux promised." When it was suggested to him that he might want to temper his expectations, to tone down the enthusiasm, he responds that they’re looking at the wrong side of the equation. “I don’t want to believe less in something,” he says. “I want to make something that is worthy of the emotion behind it.”[3] Curiosity is actually one of the few games that can be successfully played by a simple robot.[4]
According to the new statistics pages available in game from version 2, as of 8th Dec the game currently has over 3 million users. 22Cans did not anticipate such widespread interest in the game, and were not prepared to handle the extreme load, causing connectivity issues to persist from launch day to nearly a week afterward.[5]
The floating text across the layers usually carry the hashtag for this 'game experiment', #Curiosity, or short, informal messages from the staff.
Read more: Wikipedia
Read more: Google Play
QR:
What does the langversion switch do?
The C# compiler has a /langversion switch that is rarely used; most people do not know what it is for, and if asked to guess, most guess wrong. So let me disabuse you of your wrong guess right away: the purpose of the langversion flag is not to decide what C# language version to use. It is not a "go into compatibility mode" switch or a "use a previous version of the compiler" switch. The only effect of the langversion switch is to put the compiler in a mode in which use of features from a version of the language higher than the given version cause the compiler to emit an error.
Let me illustrate with a hilariously contrived example:
class C
{
public static bool operator < (C c1, C c2) { return true; }
public static bool operator > (C c1, C c2) { return true; }
public static bool operator < (bool b1, C c2) { return true; }
public static bool operator > (bool b1, C c2) { return true; }
static C H = new C();
static C I = new C();
static C J = new C();
static void G(bool b) { }
static void Main()
{
G ( H < I > ( J ) );
}
}
This ridiculous program compiles successfully in C# 1.0; it invokes the < operator on H and I, and then invokes the > operator on the resulting bool and J.
Read more: Fabulous Adventures In Coding
QR:
Microsoft.Bcl.Async is Now Stable
Posted by
jasper22
at
14:38
|
It’s done. About five months ago, we shipped our Microsoft.Bcl.Async NuGet package which provides support for the async/await keywords for pre-.NET 4.5 platforms, such as .NET 4, Silverlight 4, and Windows Phone 7.5. Of course, this includes support for portable class libraries as well.
We believe we’ve baked Microsoft.Bcl.Async enough to flip the switch and mark it as stable. This might not sound like a big deal but it is the NuGet equivalent of shipping an RTM.
Read more: Base Class Library (BCL) Blog
QR:
My relationship with SOLID - The big O
Posted by
jasper22
at
14:38
|
Open closed is dead, long live Open closed
I'm blogging about SOLID for some reason, and now we're onto the beast that set me off:
OCP
Yikes
They are “Open For Extension”. This means that the behavior of the module can be extended. That we can make the module behave in new and different ways as the requirements of the application change, or to meet the needs of new applications.
and
They are “Closed for Modiļ¬cation”. The source code of such a module is inviolate. No one is allowed to make source code changes to it.
Thanks Uncle Bob, you're right, this is over-stated, and because it's so over stated, I believe it to be the cause of so many of the over-designed pieces of crap I've had to deal with in my career :-)
This is the conversation I imagine developers having with themselves when writing this stuff, I don't have to imagine too hard because I've been there too:
What if somebody at some point wants to change this so they can have another behaviour for this value, I'd better use the strategy pattern here instead of this switch statement, but oh my word now I've done that what if somebody wants to use this code from some other system than this one, I'd better stick a command system in front of this and use double dispatch for handling them - but wait, what if other code needs to react from this and do something else, I'd better raise a pile of events, but what if those aren't enough I'd better make sure I split all this behaviours out into their own interfaces so they can be overridden and...
And on it goes until suddenly what was a couple of classes behind a controller or presenter blow up into a mess of a hundred classes that all do the square root of diddly squat, but together manage to cause a lot of headaches for anybody coming across the code in the future.
Now, I'm sure this wasn't the intent behind these statements, and it sure isn't now - but you know what?
Read more: Rob Ashton
QR:
How to Watch YouTube Videos in VLC Media Player
Posted by
jasper22
at
14:36
|
How to Watch YouTube Videos in VLC Media Player
You will first need to open VLC, then click on the Media menu followed by Open Network Stream…
Read more: How-to geek
QR:
If you don't know what you're going to do with the answer to a question, then there's not much point in making others work hard to answer it
Posted by
jasper22
at
13:44
|
A customer asked the following question:
We've found that on Windows XP, when we call the XYZ function with the Awesome flag, the function fails for no apparent reason. However, it works correctly on Windows 7. Do you have any ideas about this?
So far, the customer has described what they have observed, but they haven't actually asked a question. It's just nostalgia, and nostalgia is not a question. (I'm rejecting "Do you have an ideas about this?" as a question because it too vague to be a meaningful question.)
Please be more specific about your question. Do you want to obtain Windows 7-style behavior on Windows XP? Do you want to obtain Windows XP-style behavior on Windows 7? Do you merely want to understand why the two behave differently?
The customer replied,
Why do they behave differently? Was it a new design for Windows 7? If so, how do the two implementations differ?
I fired up a handy copy of Windows XP in a virtual machine and started stepping through the code, and then I stopped and realized I was about to do a few hours' worth of investigation for no clear benefit.
Read more: The old new thing
QR:
How to Extend Your Office 2013/365 Trial to 180 Days
Posted by
jasper22
at
13:07
|
In recent years it has become common for Microsoft to release trial or preview versions of its big-name products. This has been the case with Windows 8 as well as Office 2013 giving consumer the chance to try before they buy. If you downloaded the trial version of the suite, you can gain some extra try-out time with this handy hack.
The trial version of Office 365 is only meant to be used for 30 days. After this time you are expected to by a license or stop using the software. In practice, Office does not become unusable, but instead enters a ‘reduced functionality’ mode.
But if you are not sure about committing to the purchase, you can extend you trial period so you can test drive the office suite for a little longer.
It is possible to ‘rearm’ the trial version of the software five times – essentially giving you six 30-day trial periods, or 180 days in total.
While there are various tools that can be downloaded that can do this job for you, there’s no need – everything you require is already available to you. The only thing you need to remember is to run through the rearming process before you trial periods run out; make sure you do it on the thirtieth day of the trial.
...
...
You can also navigate direct to C:\Program Files\Common Files\Microsoft Shared\OfficeSoftwareProtectionPlatform or C:\Program Files (x86)\Common Files\Microsoft Shared\OfficeSoftwareProtectionPlatform and type OSPPREARM.EXE into Explorer’s address bar before hitting Enter.
That’s all there is to it. It’s not quite a free copy of Office, but you do get to use it for a little longer.
Read more: How-to geek
QR:
Big list of LINQ interview questions and answers compiled
I have had a number of users ping me asking about writing interview questions on LINQ. I actually have a 8 detailed posts on LINQ interview questions. Here is a compilation of the posts:
(more....)
Read more: Nikhil Singhal's Blog
QR:
Postgres 9.3 feature highlight: JSON data generation
Posted by
jasper22
at
10:17
|
Postgres 9.2 has introduced JSON as a server data type. At this point, the data was simply stored on server side with integrated wrappers checking that data had a correct JSON format. It was a good first step in order to store directly JSON data on server side but core features in 9.2 have its limitations in terms of JSON data manipulation and transformation.
Two new sets of JSON features have been added to PostgreSQL 9.3 planned to be released this year: functions related to data generation and a new set of APIs for data processing. The one this post deals with the ability to generate JSON data based on existing data types. The second set of features (operators and new processing functions) will be explained in a future post.
So… Functions for JSON data generation have been added by this commit.
commit 38fb4d978c5bfc377ef979e2595e3472744a3b05
Author: Andrew Dunstan
Date: Sun Mar 10 17:35:36 2013 -0400
JSON generation improvements.
This adds the following:
json_agg(anyrecord) -> json
to_json(any) -> json
hstore_to_json(hstore) -> json (also used as a cast)
hstore_to_json_loose(hstore) -> json
The last provides heuristic treatment of numbers and booleans.
Also, in json generation, if any non-builtin type has a cast to json,
that function is used instead of the type's output function.
Andrew Dunstan, reviewed by Steve Singer.
Catalog version bumped.
The first function called to_json permits to return a given value as valid JSON.
postgres=# create table aa (a bool, b text);
CREATE TABLE
postgres=# INSERT INTO aa VALUES (true, 'Hello "Darling"');
INSERT 0 1
postgres=# INSERT INTO aa VALUES (false, NULL);
INSERT 0 1
postgres=# SELECT to_json(a) AS bool_json, to_json(b) AS txt_json FROM aa;
bool_json | txt_json
-----------+---------------------
true | "Hello \"Darling\""
false |
(2 rows)
Boolean values are returned as plain true/false, texts are quoted as valid JSON fields.
json_agg is a function that can transform a record into a JSON array.
postgres=# SELECT json_agg(aa) FROM aa;
json_agg
---------------------------------------
[{"a":true,"b":"Hello \"Darling\""}, +
{"a":false,"b":null}]
(1 row)
Read more: Michael Paquier
QR:
“Hacking Secret Ciphers with Python” Released
Posted by
jasper22
at
09:54
|
My third book, Hacking Secret Ciphers with Python, is finished. It is free to download under a Creative Commons license, and available for purchase as a physical book on Amazon for $25 (which qualifies it for free shipping). This book is aimed at people who have no experience programming or with cryptography. The book goes through writing Python programs that not only implement several ciphers but also can hack these ciphers.
Read more: The “Invent with Python” Blog
QR:
Using GridFS in MongoDb from C#
Posted by
jasper22
at
09:52
|
GridFS is a specification for storing large files in MongoDB. GridFS will chunk a file into documents, and the official C# driver supports GridFS.
The following class wraps some of the driver classes (MongoDatabase and MongoGridFS):
public class MongoGridFs
{
private readonly MongoDatabase _db;
private readonly MongoGridFS _gridFs;
public MongoGridFs(MongoDatabase db)
{
_db = db;
_gridFs = _db.GridFS;
}
public ObjectId AddFile(Stream fileStream, string fileName)
{
var fileInfo = _gridFs.Upload(fileStream, fileName);
return (ObjectId)fileInfo.Id;
}
public Stream GetFile(ObjectId id)
{
var file = _gridFs.FindOneById(id);
return file.OpenRead();
}
}
The following code uses the above class to put a file into MongoDB, then read it back out.
var fileName = "clip_image071.jpg";
var client = new MongoClient();
var server = client.GetServer();
var database = server.GetDatabase("testdb");
var gridFs = new MongoGridFs(database);
Read more: Ode to code
QR:
Remote Controlling a Car over the Web. Ingredients: Smartphone, WebSocket, and Raspberry Pi.
At Kaazing, we have been experimenting with using a smartphone as a remote control for quite some time now. Those familiar with our demos may have seen our Zing-Pong demo (which is a “Pong”-style game using smartphones to control the paddles over WebSocket) or our Racer demo (which is a 3D Formula One car rendered in WebGL as a Chrome Experiment, and remotely controlled with a smartphone). These demos, along with the other demos we’ve created with Kaazing’s platform, use no plug-ins. You simply point a browser on your computer to the address of the object you want to control (for example, the gorgeous Formula One car rendered in WebGL) and a browser from your smartphone to the address of the remote control (an ID we generate for you). Once connected, you just…go!
A couple of our Visionary Zingers, Prashant Khanal and David Witherspoon, then experimented with communicating with a Raspberry Pi using WebSocket–or, more specifically, using Kaazing’s JMS-over-WebSocket Gateway to tell Raspberry Pi to turn on and off a lightbulb. When the lightbulb turned on in this experiment, another lightbulb turned on: could we in fact turn a remote, radio-controlled car into a remote, WebSocket-controlled car? By controlling the car over the Web, could we control the car from another room? From another continent?
The Racer Demo
Let’s first take a closer look at the Racer demo. The Racer demo uses the reflector pattern: where we connect devices through a WebSocket server, thus simulating peer-to-peer connectivity, a very easy-to-achieve task using pub/sub. When we developed the Racer demo, we walked through the steps to build it in The Simplest Way to Use Your Smartphone as a Game Controller: A WebSocket Race Car Demo. By examining how to use pub/sub concepts to control a virtual car, it’s not so farfetched to consider doing the same with a radio-controlled car.
Read more: The Zinger
QR:
TERMINOLOGY 0.3
Posted by
jasper22
at
18:55
|
What is it?
Terminology is a new terminal emulator. It started life during a vacation in Thailand in June of 2012. So it is young and fresh, so it's not perfect, but it's getting there.
What does it do?
It emulates a slightly extended vt100 with some extensions and bling thrown in.
- Most escapes supported by xterm, rxvt etc. work
- Xterm 256 color escapes work
- Backgrounds (bitmap, scalable/vector, animated gif, videos)
- Transparency
- Bitmap and scalable fonts supported
- Themes for the layout and design
- URL, file path and email address detection and link-handling
- Inline display of link content
- Multiple copy and paste selections and buffer support
- Works in X11
- Works in Wayland
- Works directly in the linux framebuffer (fbcon)
- Can be finger/touch controlled
- Scan scale by UI scaling factors
- Can render using OpenGL or OpenGL-ES2 (not a requirement - just an option)
- Can display inlined media content (images, video, documents)
- Can do multiple "tabs"
- Can do splitting into multiple panes
- Block text selection
- Drag and drop of text selections and links
- Can stream media from URLs
- Tab switcher has live thumbnail content
- Single process, multiple windows/terminals support
- Fast (gives urxvt a run for its money)
- Themable visual bell
- More...
Read more: Terminology
Read more: Terminology demo [Youtube]
QR:
April 2013 Security Release ISO Image
Posted by
jasper22
at
18:46
|
Overview
This DVD5 ISO image file contains the security updates for Windows released on Windows Update on April 9, 2013. 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://technet.microsoft.com/en-us/security/bulletin prior to deployment of these updates to ensure that the files have not been updated at a later date.
The below Operating Systems will contain the following number of languages unless otherwise noted:
Windows XP - 24 languages
Windows XP x64 Edition - 2 languages
Windows Server 2003 - 18 languages
Windows Server 2003 x64 Edition - 11 languages
Windows Server 2003 for Itanium-based Systems - 4 languages
Windows Vista - 36 languages
Windows Vista for x64-based Systems - 36 languages
Windows Server 2008 - 19 languages
Windows Server 2008 x64 Edition - 19 languages
Windows Server 2008 for Itanium-based Systems - 4 languages
Windows Server 2008 R2 x64 Edition - 19 languages
Windows Server 2008 R2 for Itanium-based Systems - 4 languages
Windows 7 - 36 languages
Windows 7 for x64-based Systems - 36 languages
Read more: MS Download
QR:
Finch — ŠŗŠ¾Š½ŃŠ¾Š»ŃŠ½ŃŠ¹ ŠŗŠ»ŠøŠµŠ½Ń Š“Š»Ń Š¼Š³Š½Š¾Š²ŠµŠ½Š½ŃŃ ŃŠ¾Š¾Š±ŃŠµŠ½ŠøŠ¹
ŠŠ°Š¶Š“ŃŠ¹ ŠæŃŠ¾Š³ŃŠ°Š¼Š¼ŠøŃŃ ŃŃŠµŠæŠµŃŠ½Š¾ Š¾ŃŠ½Š¾ŃŠøŃŃŃ Šŗ ŃŠ²Š¾ŠµŠ¼Ń ŠæŃŠ¾Š³ŃŠ°Š¼Š¼Š½Š¾Š¼Ń Š¾ŠŗŃŃŠ¶ŠµŠ½ŠøŃ. ŠŃŠµŠ½Ń Š²Š°Š¶Š½Š¾ Š“Š¾Š±ŠøŃŃŃŃ Š¼Š°ŠŗŃŠøŠ¼Š°Š»ŃŠ½Š¾Š³Š¾ ŠŗŠ¾Š¼ŃŠ¾ŃŃŠ° Š² ŃŠ°Š±Š¾ŃŠµ. Š ŠŗŠ°ŃŠµŃŃŠ²Šµ ŃŠ²Š¾ŠµŠ¹ Š¾ŠæŠµŃŠ°ŃŠøŠ¾Š½Š½Š¾Š¹ ŃŠøŃŃŠµŠ¼Ń Ń ŠøŃŠæŠ¾Š»ŃŠ·ŃŃ Linux. ŠŠ°Šŗ Š¼ŠøŠ½ŠøŠ¼ŃŠ¼ ŃŃŠ¾ ŠæŠ¾Š»ŠµŠ·Š½Š¾ Š“Š»Ń Š¼ŠµŠ½Ń Š½Š° ŠæŃŠ¾ŃŠµŃŃŠøŠ¾Š½Š°Š»ŃŠ½Š¾Š¹ ŠæŠ¾ŃŠ²Šµ. ŠŠ·Š½Š°ŃŠ°Š»ŃŠ½Š¾ Ń Š²ŃŠ±ŠøŃŠ°Š» Linux ŠæŠ¾ ŃŃŠ¾Š¹ ŠæŃŠøŃŠøŠ½Šµ — ŃŠµŠ¼ Š±Š¾Š»ŃŃŠµ ŠæŃŠµŠ“ŠæŠ¾ŃŃŠ»Š¾Šŗ Š±ŃŠ“ŠµŃ Š“Š»Ń ŃŠ°Š¼Š¾ŃŠ¾Š²ŠµŃŃŠµŠ½ŃŃŠ²Š¾Š²Š°Š½ŠøŃ, ŃŠµŠ¼ Š¼ŠµŠ½ŃŃŠµ Š¾ŃŃŠ°Š½ŠµŃŃŃ Š¼Š¾ŠµŠ¹ Š»ŠµŠ½Šø. Linux ŠæŠ¾Š¼Š¾Š³Š°ŠµŃ Š¼Š½Šµ Š½Šµ Š·Š°Š±ŃŠ²Š°ŃŃ, ŃŃŠ¾ Š½Šµ Š²ŃŠµ ŠæŃŠ¾Š³ŃŠ°Š¼Š¼Ń Š¼Š¾Š³ŃŃ Š±ŃŃŃ Š¾ŠŗŠ¾Š½Š½ŃŠ¼Šø. Š Š°Š±Š¾ŃŠøŠµ Šø ŃŠµŃŃŠ¾Š²ŃŠµ ŃŠµŃŠ²ŠµŃŃ, Ń ŠŗŠ¾ŃŠ¾ŃŃŠ¼Šø Š¼Š½Šµ ŠæŃŠøŃ
Š¾Š“ŠøŃŃŃ ŃŠ°Š±Š¾ŃŠ°ŃŃ, ŃŠæŃŠ°Š²Š»ŃŃŃŃŃ ŠøŠ· ŠŗŠ¾Š½ŃŠ¾Š»Šø. ŠŠ¾ŃŃŃŠæ Šŗ ŃŠ“Š°Š»ŠµŠ½Š½ŃŠ¼ ŃŠµŃŠ²ŠµŃŠ°Š¼ Š¾ŃŃŃŠµŃŃŠ²Š»ŃŠµŃŃŃ ŠæŠ¾ SSH. ŠŠµŠ· Š·Š½Š°Š½ŠøŃ ŠŗŠ¾Š½ŃŠ¾Š»Šø ŃŃŃŠ“Š½Š¾ ŠæŠ¾Š“Š½ŃŃŃ, Š¾Š±Š½Š¾Š²ŠøŃŃ ŠøŠ»Šø Š²Š½ŠµŃŃŠø ŠæŃŠ°Š²ŠŗŠø Š½Š° ŃŠµŃŠ²ŠµŃŠµ, ŠæŠ¾ŃŠ¾Š¼Ń Ń ŃŃŠ°ŃŠ°ŃŃŃ Š¾ŃŠ²Š°ŠøŠ²Š°ŃŃ ŃŃŃ Š¾Š±Š¾Š»Š¾ŃŠŗŃ ŠæŠ¾ Š¼ŠµŃŠµ ŃŠøŠ». Š¢ŠµŃŠ¼ŠøŠ½Š°Š» ŠæŠ¾ŃŃŠ¾ŃŠ½Š½Š¾ ŃŠ°Š“ŃŠµŃ Š¼ŠµŠ½Ń ŃŠ²Š¾ŠøŠ¼Šø Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃŃŠ¼Šø, Š¾ŃŠŗŃŃŠ²Š°Ń ŃŠ¾ Š¾Š“Š½Ń, ŃŠ¾ Š“ŃŃŠ³ŃŃ ŠæŠ¾Š»ŠµŠ·Š½ŃŃ ŠæŃŠ¾Š³ŃŠ°Š¼Š¼Ń ŠøŠ»Šø ŃŃŠøŠ»ŠøŃŃ. ŠŠµŠ“Š°Š²Š½Š¾ Ń Š¾ŃŠŗŃŃŠ» Š“Š»Ń ŃŠµŠ±Ń ŠæŃŠ¾Š³ŃŠ°Š¼Š¼Ń, ŠæŠ¾Š·Š²Š¾Š»ŃŃŃŃŃ ŠøŃŠæŠ¾Š»ŃŠ·Š¾Š²Š°ŃŃ IM Š² ŠŗŠ¾Š½ŃŠ¾Š»Šø.
Š ŃŠ²Š¾ŠµŠ¼ Š¾ŠŗŃŃŠ¶ŠµŠ½ŠøŠø Ń ŠæŃŠµŠ“ŠæŠ¾ŃŠøŃŠ°Ń Š¼ŠøŠ½ŠøŠ¼Š°Š»ŠøŠ·Š¼. ŠŃŠ½Š¾Š²Š½ŃŠµ ŃŃŠµŠ±Š¾Š²Š°Š½ŠøŃ Šŗ ŠæŃŠ¾Š³ŃŠ°Š¼Š¼Š°Š¼, ŠŗŠ¾ŃŠ¾ŃŃŠµ Ń Š²ŃŠ±ŠøŃŠ°Ń:
Š±ŃŃŃŃŃŠ¹ Š¾ŃŠŗŠ»ŠøŠŗ
ŠæŠ¾Š»Š½Š¾ŃŠ° ŃŃŠ½ŠŗŃŠøŠ¾Š½Š°Š»Š°
ŃŠ“Š¾Š±ŃŃŠ²Š¾ ŠøŃŠæŠ¾Š»ŃŠ·Š¾Š²Š°Š½ŠøŃ
ŠŠ± Š¾Š“Š½Š¾Š¹ ŠøŠ· ŃŠ°ŠŗŠøŃ
ŠæŃŠ¾Š³ŃŠ°Š¼Š¼ Ń
Š¾ŃŠµŃŃŃ ŃŠ°ŃŃŠŗŠ°Š·Š°ŃŃ Š±Š¾Š»ŃŃŠµ. ŠŠ½Š° Š½Šµ ŃŠ°Šŗ Ń
Š¾ŃŠ¾ŃŠ° Š² ŃŠ“Š¾Š±ŃŃŠ²Šµ, Š½Š¾ ŠøŠ“ŠµŠ°Š»ŃŠ½Š¾ ŠæŠ¾Š“Ń
Š¾Š“ŠøŃ ŠæŠ¾Š“ Š¼Š¾Šµ ŃŠ°Š±Š¾ŃŠµŠµ Š¾ŠŗŃŃŠ¶ŠµŠ½ŠøŠµ.
Finch — ŃŃŠ¾ ŠŗŠ¾Š½ŃŠ¾Š»ŃŠ½ŃŠ¹ ŠŗŠ»ŠøŠµŠ½Ń Š½Š° Š±Š°Š·Šµ Š±ŠøŠ±Š»ŠøŠ¾ŃŠµŠŗŠø libpurple, ŠŗŠ¾ŃŠ¾ŃŃŃ ŃŠ°ŠŗŠ¶Šµ ŠøŃŠæŠ¾Š»ŃŠ·ŃŠµŃ Pidgin. Š Š½ŠµŠ¹ Ń ŃŠ·Š½Š°Š» ŃŠ»ŃŃŠ°Š¹Š½Š¾, ŠæŃŠ¾ŃŠ¼Š°ŃŃŠøŠ²Š°Ń ŃŠæŠøŃŠ¾Šŗ Š°Š»ŃŃŠµŃŠ½Š°ŃŠøŠ²Š½ŃŃ
ŠæŃŠ¾Š³ŃŠ°Š¼Š¼.
Finch is a text/console-based, modular instant messaging client capable of using multiple networks at once. Currently supported are: AIM/ICQ, Yahoo!, MSN, IRC, Jabber/XMPP/Google Talk, Napster, Zephyr, Gadu-Gadu, Bonjour, Groupwise, Sametime, SIMPLE, ySpaceIM, and MXit
Read more: Habrahabr.ru
QR:
.NET Memory Allocation Profiling with Visual Studio 2012
Visual Studio 2012 has a wealth of valuable functionality, so much so that I periodically hear developers that already use Visual Studio asking for a feature the IDE already has and that they’ve just never discovered. Other times, I hear developers asking about a specific feature, thinking it’s meant for one purpose, not realizing it’s really intended for another.
Both of these cases apply to Visual Studio’s .NET memory allocation profiler. Many developers that could benefit from it don’t know it exists, and other developers have an incorrect expectation for its purpose. This is unfortunate, as the feature can provide a lot of value for particular scenarios; many developers will benefit from understanding first that it exists, and second the intended scenarios for its use.
Why memory profiling?
When it comes to .NET and memory analysis, there are two primary reasons one would want to use a diagnostics tool:
To discover memory leaks. Leaks on a garbage-collecting runtime like the CLR manifest differently than do leaks in a non-garbage-collected environment, such as in code written in C/C++. A leak in the latter typically occurs due to the developer not manually freeing some memory that was previously allocated. In a garbage collected environment, however, manually freeing memory isn’t required, as that’s the duty of the garbage collector (GC). However, the GC can only release memory that is provably no longer being used, meaning as long as there are no rooted references to the memory. Leaks in .NET code manifest then when some memory that should have been collected is incorrectly still rooted, e.g. a reference to the object occurs in an event handler registered with a static event. A good memory analysis tool might help you to find such leaks, such as by allowing you to take snapshots of the process at two different points and then comparing those snapshots to see which objects stuck around for the second point, and more importantly, why.
Read more: .NET Framework blog
Visual Studio 2012 Update 2
Posted by
jasper22
at
08:20
|
Overview
This update is the latest in a cumulative series of feature additions and bug fixes for Visual Studio 2012. Periodic updates enable us to enhance and expand Visual Studio more frequently to support the latest software development innovations for building and managing modern apps. For information about the latest update, see Visual Studio Updates.
Updates for these other products are also available:
Microsoft Visual Studio Team Foundation Server 2012
Microsoft Visual Studio Team Foundation Server Express 2012
IntelliTrace Collector for Visual Studio 2012
Remote Tools for Visual Studio 2012
Agents for Microsoft Visual Studio 2012
Agents for Microsoft Visual Studio 2012 Language Pack
Read more: MS Download
Google Super Sync Sports Turns Your Phone Into A Gamepad
Using a mobile device to control an application on a PC, media player or video game console, isn't too uncommon, but it is when the content being controlled is a game. Just how possible would it be to play a fairly fast-paced game on your PC via your mobile device? Google wanted to find out, so it crafted a game called Super Sync Sports, where you control an athlete on your desktop or notebook via controls on your phone or tablet. To make a game like this possible, Google turned to WebSockets for real-time collaboration between two devices, HTML5 for the audio, Canvas for the graphics, and CSS3 for the styling and transitions.
Read more: Slashdot
Read more: Google Super Sync Sport
QR:
List Of Windows Services That Can Be Safely Disabled
Posted by
jasper22
at
16:46
|
Windows Services are executable programs that run constantly in the background and perform specific functions on their own. Users with administrator privileges can choose a default startup behavior for these services. For instance, they can be set to start at system boot, paused and restarted whenever required, or simply disabled. While some services come with the operating system by default, at times different third party software also add their own services. While leaving the services running in the background allows certain tools and utilities to function better, disabling the ones you don’t need can also increase the performance of your system. In what follows, we’ll guide you through the process of starting, stopping and disabling Windows Services.
How To Disable Windows System Services
Before you start or stop a service, it is important to know its function so that stopping it does not disrupt any important Windows feature or task. If you know the exact nature of a particular service, you can disable it if you don’t need that feature. For example, if you do not use Bluetooth devices with your system, there no need to have its service running all the time and you can easily disable the Bluetooth Support Service without an issue. Since you can start or stop a service anytime that you like, you can even use this feature for the services that you use very rarely to keep them disabled or stopped and enabling them only when required. Continuing with the aforementioned example, if you connect a Bluetooth device to the computer once every two weeks, you can turn on the service whenever needed and keep it off by default.
You can easily access the Services dialog box from the start menu to view and control all services. Moreover, third party tools, such as Windows Service Monitor and Services Monitor can also be used to manage Windows services, both locally and remotely.
Read more: Addictive tips
QR:
How to write your first USB client driver (UMDF) (Windows Drivers)
Posted by
jasper22
at
12:26
|
In this topic you'll use the USB User-Mode Driver template provided with Microsoft Visual Studio 2012 to write a user-mode driver framework (UMDF)-based client driver. After building and installing the client driver, you'll view the client driver in Device Manager and view the driver output in a debugger.
UMDF (referred to as the framework in this topic) is based on the component object model (COM). Every framework object must implement IUnknown and its methods, QueryInterface, AddRef, and Release, by default. The AddRef and Release methods manage the object's lifetime, so the client driver does not need to maintain the reference count. The QueryInterface method enables the client driver to get interface pointers to other framework objects in the Windows Driver Frameworks (WDF) object model. Framework objects perform complicated driver tasks and interact with Windows. Certain framework objects expose interfaces that enable a client driver to interact with the framework.
A UMDF-based client driver is implemented as an in-process COM server (DLL), and C++ is the preferred language for writing a client driver for a USB device. Typically, the client driver implements several interfaces exposed by the framework. This topic refers to a client driver-defined class that implements framework interfaces as a callback class. After these classes are instantiated, the resulting callback objects are partnered with particular framework objects. This partnership gives the client driver the opportunity to respond to device or system-related events that are reported by the framework. Whenever Windows notifies the framework about certain events, the framework invokes the client driver's callback, if one is available. Otherwise the framework proceeds with the default processing of the event. The template code defines driver, device, and queue callback lasses.
For an explanation about the source code generated by the template, see Understanding the UMDF template code for USB client driver.
Read more: MSDN
QR:
15 Cool and Creative Resumes
Unless you are a desired professional, job hunt is not the kind of activity you would enjoy doing very often. All the searching, sending, phone-calling and trying to simply get noticed by the employer can really wreck your nerves.
The principle “don’t judge a book by its cover” is not widely used here – on the contrary, you have to LOOK good and stand out from the others to get the job. And looking good doesn’t only mean putting on a new shirt or a skirt, but most importantly – having a solid resume and a cover letter.
Looks like these job-seekers didn’t have problems getting noticed by the employer. Building a creative yet informative resume is a good way to clearly present you personality and skills. And to get noticed, of course. Browse here for inspiration and get creative the next time you’re on the job market.
Read more: Bored Panda
QR:
Microsoft shares Kinect source code
Source code initially offers face tracking, depth of field and more
Microsoft has shared the source code for some elements of the PC version of Kinect, its motion control hardware.
Until now, developer and hobbyist’s wanting to use Kinect had to work from an official software toolkit that covered the underlying code.
The software maker has posted 22 code samples used in Kinect for Windows to CodePlex.
The Kinect for Windows sample code is available in C#, C++ and Visual Basic. Some of elements it offers include colour basics, face tracking, depth of field, skeleton basics and audio capture.
Developers who wish to use the software will need to download Visual Studio, .NET and the Kinect for Windows SDK before getting started.
All the Kinect code samples are released under an Apache 2.0 licence and are free for users to take, reuse or remix.
Read more: Develop
Read more: Codeplex
QR:
Decompiling Async/Await
Posted by
jasper22
at
11:44
|
You can get the async-enabled ILSpy build from our build server.
The async support is not yet complete; for example decompilation fails if the IL evaluation stack is not empty at the point of the await expression.
The decompilation logic highly depends on the patterns produced by the C# 5 compiler - it only works with code compiled with the C# compiler in the .NET 4.5 beta release, not with any previous CTPs. Also, it is likely that ILSpy will need adjustments for the final C# 5 compiler.
While testing, I found that the .NET 4.5 beta BCL was not compiled with the beta compiler - where the beta compiler uses multiple awaiter fields, the BCL code uses a single field of type object and uses arrays of length 1. This is similar to the code generated by the .NET 4.5 developer preview, so my guess is that Microsoft used some internal version in between the developer preview and the beta for compiling the .NET 4.5 beta BCL. For more information, take a look at Jon Skeet's description of the async codegen changes.
This means the ILSpy cannot decompile async methods in the .NET 4.5 beta BCL. This problem should disappear with the next .NET 4.5 release (.NET 4.5 RC?).
So how does ILSpy decompile async methods, then? Consider the compiler-generated code of the move next method:
// Async.$AwaitInLoopCondition$d__17
void IAsyncStateMachine.MoveNext()
{
try
{
int num = this.$1__state;
TaskAwaiter<bool> taskAwaiter;
if (num == 0)
{
taskAwaiter = this.$u__$awaiter18;
this.$u__$awaiter18 = default(TaskAwaiter<bool>);
this.$1__state = -1;
goto IL_7C;
}
IL_23:
taskAwaiter = this.$4__this.SimpleBoolTaskMethod().GetAwaiter();
if (!taskAwaiter.IsCompleted)
{
this.$1__state = 0;
this.$u__$awaiter18 = taskAwaiter;
this.$t__builder.AwaitUnsafeOnCompleted<TaskAwaiter<bool>, Async.$AwaitInLoopCondition$d__17>(ref taskAwaiter, ref this);
return;
}
IL_7C:
Read more: SharpDevelop Community
QR:
Extending C# Listview with Collapsible Groups
Posted by
jasper22
at
11:40
|
NOTE: This post is kinda long. However, most of the length is a result of code postings (even after removing some extra stuff). Bear with me!
I’ve been deep in a project for work for the past two months. Sadly, it is nothing sexy, no exciting bleeding-edge technology, just another enterprise database, using the very mature and slightly dull Winforms library in the .NET platform.
However, I did stumble across an interesting project requirement for what is essentially an expandable group of the venerable Listview control, what one might get if one combined a Listview with a Treeview, or if the “groups” built into the Listview control could be expanded/collapsed, right-clicked, etc.
Read more: TYPE CAST EXCEPTION
QR:
Xamarin previews C# async on iOS and Android
Posted by
jasper22
at
10:56
|
One of the most requested features we’re hearing at Xamarin these days is support for async in C#. Today, we are very happy to announce the first preview of async support in our products. The code is available now on the Alpha channel in the Xamarin Updater.
First-class support for asynchronicity is a powerful and brilliantly simple language tool.
- It makes it easy to write responsive user interfaces, which in turn makes for delighted users
- It makes complex workflows, with their error handling, natural to write. This translates into proper error messages and proper program recovery; and finally
- By letting the compiler do the work for you, it eliminates bugs from your code, and enables you to enjoy your work and to focus on what really matters for your application.
This is best seen by watching it in action. See how this piece of old C# code turns into a piece of beauty. Error handling and dealing with the UI thread go from painful to trivial. To learn more about how to use async start from this article.
While asynchronicity is the main theme of this release, we also pack two years of improvements to the Mono runtime spread over more than 7,000 individual commits that are now available to Android, Mac and iOS users.
Read more: Xamarin blog
QR:
Kali Linux
Kali Linux is an advanced Penetration Testing and Security Auditing Linux distribution.
Kali Linux Features
Kali is a complete re-build of BackTrack Linux, adhering completely to Debian development standards. All-new infrastructure has been put in place, all tools were reviewed and packaged, and we use Git for our VCS.
- More than 300 penetration testing tools: After reviewing every tool that was included in BackTrack, we eliminated a great number of tools that either did not work or had other tools available that provided similar functionality.
- Free and always will be: Kali Linux, like its predecessor, is completely free and always will be. You will never, ever have to pay for Kali Linux.
- Open source Git tree: We are huge proponents of open source software and our development tree is available for all to see and all sources are available for those who wish to tweak and rebuild packages.
- FHS compliant: Kali has been developed to adhere to the Filesystem Hierarchy Standard, allowing all Linux users to easily locate binaries, support files, libraries, etc.
- Vast wireless device support: We have built Kali Linux to support as many wireless devices as we possibly can, allowing it to run properly on a wide variety of hardware and making it compatible with numerous USB and other wireless devices.
- Custom kernel patched for injection: As penetration testers, the development team often needs to do wireless assessments so our kernel has the latest injection patches included.
- Secure development environment: The Kali Linux team is made up of a small group of trusted individuals who can only commit packages and interact with the repositories while using multiple secure protocols.
- GPG signed packages and repos: All Kali packages are signed by each individual developer when they are built and committed and the repositories subsequently sign the packages as well.
- Multi-language: Although pentesting tools tend to be written in English, we have ensured that Kali has true multilingual support, allowing more users to operate in their native language and locate the tools they need for the job.
- Completely customizable: We completely understand that not everyone will agree with our design decisions so we have made it as easy as possible for our more adventurous users to customize Kali Linux to their liking, all the way down to the kernel.
- ARMEL and ARMHF support: Since ARM-based systems are becoming more and more prevalent and inexpensive, we knew that Kali’s ARM support would need to be as robust as we could manage, resulting in working installations for both ARMEL and ARMHF systems. Kali Linux has ARM repositories integrated with the mainline distribution so tools for ARM will be updated in conjunction with the rest of the distribution. Kali is currently available for the following ARM devices:
- rk3306 mk/ss808
- Raspberry Pi
- ODROID U2/X2
- Samsung Chromebook
Kali is specifically tailored to penetration testing and therefore, all documentation on this site assumes prior knowledge of the Linux operating system.
Read more: Kali Linux
QR:
Kernel-Mode Debugging in a VM using Visual Studio 2012
Posted by
jasper22
at
12:13
|
Introduction
This article is about how to setup Kernel-Mode debugging in a VM using Visual Studio 2012. This article will be helpful for people new to driver development that wish to create, build, deploy, and debug a simple "HelloKernel". project.
Background
The setup process can be divided to three parts:
- Setting up the Virtual Machine
- Setting up Visual Studio 2012
- Setting up your HelloKernel Project
Each part will be explained step by step.
How to Setup the Virtual Machine
The Virtual Machine setup was tested on VMWare 9.0 running Windows 7 x64 OS.
- Create a new VM, use default settings (tested on VmWare, Win7 x64)
- Add a serial port to the VM, follow these steps:
- Right click VM -> Settings -> Add -> Serial Port -> Output to named pipe
- Named pipe = \\.\pipe\com_2
- First Combobox = The end is the server
- Second Combobox = The other end is an application
- Connect at power on = Checked
- Finish
- Yield CPU on poll = Checked
- bcdedit /debug on
- bcdedit /dbgsettings serial debugport:2 baudrate:115200
Read more: Codeproject
QR:
NHibernate 3.3.3 Candidate Release 1 available
Posted by
jasper22
at
10:57
|
NHibernate 3.3.3 Candidate Release 1 is now available for download
from Sourceforge and Nuget (you need to enable use of pre-releases).
It keeps the previous assembly version so it's a drop in replacement
for 3.3.1 and 3.3.2. There are no known breaking changes. Unless any
problem appears, I think we should do the GA release in about a week.
A big thanks to everyone that contributed to this release!
Summary of changes:
There is a good number of bugs and enhancements in this release, many
revolving around LINQ. Some notable improvements are:
Fixes/enhancements related to LINQ in combination with WCF Data Services.
It is now possible to issue free-form LIKE queries through LINQ. Use
NHibernate.Linq.SqlMethods.Like() or any other method with the same
signature and class name.
A custom timeout can be set for a LINQ query (see
LinqExtensionMethods.Timeout()).
ToFutureValue() can be used with aggregates on LINQ queries (see NH-3184).
Full list of changes:
[3.3.3]
Read more: Mail archive
QR:
Ubuntu Touch gets daily builds
Days ago, the developers released Ubuntu Touch Developer Preview, allowing users to hassle-free install (flash) the touch-based Ubuntu interface on both phones and tablets.
Moreover, the builds for the Touch Preview are being developed under the phablet project, phablet project that already gained a dedicated branch on Unity's official launchpad area.
The developers have announced the daily availability of the phablet builds, meaning, the daily builds are available at Ubuntu's official cdimage web-place, therefore the users will be able to install updated versions of the touch OS.
Read more: ILoveUbuntu
QR:
Subscribe to:
Posts (Atom)