Comment now »
In “How we defeated the evil permanent marker I wrote about a super simple trick how to clean permanent writing from whiteboards. Recently, I tried something new — how to make fake frosted glass transparent.
By fake frosted glass I mean those stickers that are often applied to glass doors (or glass walls!) in offices. You want light from the window to shine through the meeting rooms into the hallways, but you don’t want the meeting to be fully in the open? Frosted glass stickers are your friend.
On the other hand, these stickers are a constant temptation for us to peek through the gaps… What magical things are happening in there? How’s that prestigeous project going? Which secrets are they discussing? *peek* If the Powerpoint heading is “fiscal year…” again, I don’t want to know. Can’t it be “raptosauric space laser robot, version 2″, just once?
So how do you make the frosting transparent to show the ones inside that they cannot keep any secrets from your genius? The solution is as easy as it is paradox, and readily available in any office: Clear, transparent adhesive tape.
Comment now »
Somehow we recently talked about space at work and a colleague said, floating in zero g must feel awesome. To which I spoil-sport of course replied that I always thought that astronauts in videos seem to move extremely controlled and cautiously, as if experience taught them that, “No, you do not want to bump into this wall, again.” ;-)
You can see what I mean in this video by Sunita Williams (nice hairstyle sista!) who gives us an excellent tour through the ISS. She’s been there for 6 months (?) and boy, she’s got navigating in zero g figured out perfectly.
It’s funny, after watching this, I begin to really appreciate “empty” surfaces –like walls or the ceiling or a street– because in the ISS, every last surface seems to be filled with all useful equipment that they could velco on there.
The custom “bench press” equipment she shows is cool too: As expected, you cannot lift “weights” in zero g, that’s why astronauts must exercise by pressing against the resistance of a vacuum cylinder. They attach the training equipment (such as a seatless bike – you can’t sit down anyway!) loosely and stabilize it with a gyroscope, because the vibrations made the station oscillate, including the solar panels…
In any case, very cool video — the only thing that might creep you out is how claustrophic the Soyus module is!
Comment now »
If you wake up on a Saturday at 4pm and wonder why it’s getting dark (or rather, why it’s already so bright outside at 4am…), then you know you must have had a fun 24h hackathon behind you!
Usually the “team building” events in my office involve beer and outdoor sports, but since they try to appeal to everyone’s tastes, the winter team building event was a 24h battle of programming wits, free pizza and energy drinks included.
Nine teams with 3-4 members each signed up for this game that started on Thursday at 5pm and ended on Friday at 5pm. (Members of one team were pulled out for a P1 support issue, but they solved it within 2h, so they returned and their team got an extra hour, which is fair.) Every team had one meeting room reserved, and we were allowed to use the internet (including open-source software or public libraries). Every team got a shared drive, and had to upload the sources, executables, and final presentation, by 5pm to participate in the contest to win a prize (I’m not saying what the prize will be, but I’ll hint that it had a flat, rounded rectangle shape and its name started with a small “i”).
As in every team game, success and failure depends on the composition of your team. We got along perfectly personality-wise, but my team was a bit handicapped on the technical side: Many other teams had 4 developers, while mine was one developer, one QA, and a tech writer. The tech writer (that’s me) and the QA guy knew some basic Java, and the developer was a hardcore Python fanatic. Guess who had to learn Python in 24h? :-D
Luckily, Python is easy to learn if you know programming basics (like Perl and Java), and there are many code samples to be found. There were some coding tasks that even I could solve and implement (looping over a directory to read icon file names into a dictionary, or setting the window title of the app — small tasks like that). I spent most time taking non-coding tasks off the other guys’ hands, such as finding and integrating icon sets (creative commons), writing a tiny online help set, and writing a stylish PowerPoint presentation.
We had been discussing our options before the game started, and each of us already had made certain that we had the following installed:
- the same version of Python
- the same version of pyQt (a library for the user interface, in case we would need one)
- the same version of git (for file version control)
Apart from that, each team member was free to use their favorite utilities. I chose NetBeans IDE and Cygwin. (The NetBeans plugins for git and Python do not support all features of the command line.)
None of us had prior experience with pyQt, but it was easy to learn and provided good documentation. It took over an hour to download and install everything and find our way around, so it was good we made this decision early and installed it before the contest started.
Similarly, we practiced using git before the contest started. I had prior experience with Subversion, which is quite intuitive: You “svn update” to receive changes from others, then you “svn merge”, and then you “svn commit” to send your changes to the central repo. Git however is decentralized (similar to Mercurial). If you try to use the SVN approach and “git push” your changes to your colleagues, git gets all whiney about write permissions.
An easier approach is that each member has their own local repository where they commit their changes. Place each local repo into a shared (that is, team readable) directory. Instead of pushing your changes to your colleagues, you “git pull” their (publicly readable) changes into your repository. Then you merge and commit again. This requires more discipline than a central repo, since you mustn’t forget to pull from everyone, but we were only three so it worked well to remind each other “hey pull from me”.
With the tools being settled, we still didn’t know what actual task they would assign to us. The organizers had made a big fuss about revealing this year’s (the first ever) theme.
The site manager stood there ceremoniously with 10 envelopes in his hand.
He called one member from each team to step up to the front.
Then he suddenly announced that the first envelope drawn would define the theme for all teams. O…K…? So the first guy reads out the lot he drew and it basically said, write software that is useful and have fun doing it! (And yes, all envelopes had the same content.) Duh. ;-)
Next step was to come up with a spec for our team’s project. It must be something “useful”, a complete application with reasonable features, but at the same time, it cannot be too complex, because the team must be able to implement it in 24h — despite being tired.
I’m really curious what the other teams created — expecially since one of them asked how many GBs they could use to upload their disk image… o_o My team’s desktop app was, like, 10MB… But well, we have colleagues who work on mainframe applications, or distributed cloud software, etc, so they likely wrote something work related. We considered writing a work-related utility (I’m not saying what it is so we can use this idea next year), but our (inofficial) team lead politely asked to have his idea implemented — a Quad Paper Simulator.
Yes. I mean a desktop application that simulates quad paper. X-)
I was the one writing the documentation and the final presentation for it, and I needed some “motivation” or “unique selling point” for this app. “Easy,” said the colleague who suggested this idea: “Clearly, Paint is a simulation of drawing paper, and Word is a simulation of writing paper. What we need, though, is a simulation of quad paper! Excel just doesn’t cut it — it’s lacking an easily customizable icon palette.”
What would one use simulated quad paper for? He gave me some examples: You can plan chess gambits without having to erase stuff or drawing arrows. You can draw a map for D&D, Minecraft, or Nethack (any game with a tile-based map). You can take notes of Minecraft crafting recipes. You can use it to solve logic grid puzzles.
I came up with another example: A friend of mine likes to knit, and she carries with her photocopied quad paper to keep track of her current knitting pattern. She highlights the boxes in a color to track how far she got. Each printout can only be used once – if she had our fabulous Quad Paper Simulator, she could reset the color and reuse the pattern, or she could even adjust the pattern on the fly!
Admittedly, Quad Paper doesn’t bring about world peace, but it was a feasible project that we could tackle in 24h (and it was a sufficiently amusing idea, too, as opposed to writing a fully work related app). Again, I don’t know what great things the other teams produced. (Did I mention that our app opens a really useful CHM help when you press F1?? And our PowerPoint is really convincing and all?? Surely we deserve extra points for that!!) We may not “win” first place, but I’d say we did the best that a 1DEV/1QA/1TW team can achieve in 24h.
Comment now »
After Raspberry Pi, here’s another open hardware project: This one is called OUYA — an open game console that comes with its own controller, connects to your TV screen, and supports Android applications.
They focus on games that offer a free-to-play version with optional in-app purchases and paid upgrades. And of course it will also run other apps than games. The Ouya has a USB port, so I guess players could attach a keyboard, but by default, it comes with a game controller as input device.
Contact Ouya if you plan to port your Android app or write a new one from scratch — or if you have a nice idea how to hack the whole thing and turn it into something awesome that brings the Age of Aquarius upon us before the world ends in 2012, that’s fine too. :-D I don’t know, I’m seeing some potential for a learning platform (educational games) or some smart map-based local services here.
Of course you will need to order the actual hardware for testing (the deliver internationally, but it’s expensive). They met their kickstarter pledges goal, and are in the process of making a deal to support Minecraft, so up to now they are looking good. Keep an eye on them!
Comment now »
MMORPGs typically offer some areas where players fight players (PvP) and areas where players fight computer-controlled characters (PvE). In Guild Wars 2, PvP (Player Versus Player), WvW (World Versus World), and PvE (Player versus Environment) are three separate maps, accessible for players of all levels.
In general, GW2 is geared towards cooperative play and griefer-unfriendliness: There is no friendly fire (your attack skills only affect enemies, your buffing skills only affect allies). You cannot “die” (you simply return to a waypoint if you are not revived by a fellow player) and the penalty is minimal. You cannot push or trap others (there is simply no collision detection between players). You cannot attack, steal from, or loot your fellow players.
[As an aside: Not even Thieves can steal from players, when they try to, all they get is a temporary copy of one of the victim's skills -- now that's a fun game mechanic! :-) Once my Engineer stood next to a Thief while I was sorting through my inventory. Suddenly, the Thief was "dressed up as a golem", and ostensively paraded up and down in front of my avatar. My first thought was, "Did that thief steal my golem!?!" In his defense -- he didn't. He had drunk a prank tonic that gave him a random skin for a minute, it turns your toon into anything from animal to robot.] :)
As in any RPG, PvE is where you level and train your character by choosing traits (e.g. you can invest in strength, vitality, or power) and skills (attack and defense actions). The large PvE map offers many different types of quests that win you gold, experience points, or loot. GW2 just doesn’t call them quests, but stories, events, or challenges.
- For players who like elaborate background stories, the main overall quest is called Your Personal Story. Characters complete their education (in-game tutorial), leave their village and visit the big city, from where they are sent on various missions to find allies, learn from NPC-heroes, join an order, and fight the end boss. You can make choices in some chapters, but (I assume) all players get the same outcome. You can never “lose” the Personal Story (if you do, the chapter just restarts).
- Outside the personal story, you can join solo or group events. NPCs will constantly nag you to fetch things for them, to escort their convoy, to defend their settlements from invading enemy NPCs, to test something they invented, etc. If you like role playing, you can listen to the funny, sad, or nonsensical background stories that the NPCs tell you (“A plan that involves raptors is by definition fool-proof!”). You can fail in these events, but you can play it again every time the event comes around.
- You should also complete Skill Challenges to unlock more skills: NPCs will either challenge you to a 1:1 fight, or you need to explore a wondrous, hard-to-reach location (“commune with this place”). Each challenge can be completed only once, but you can retry if you lose.
- There are also dungeons — I haven’t tried them yet. You need to team up with other players, and complete a series of battles in a separate PvE instance. You can make different runs in the same dungeon map, to gain special loot and special equipment (I don’t know any details yet). Dungeons are more targeted towards high-level players (>L40) I think.
- If you are fed up with fighting, you can also go exploring: You gain points simply for “map completion” and for spotting locations with stunning views (vistas). And if you get fed up with everything RPG, you can always do platformer-style jump puzzles — with treasure waiting at the end. (I suck at jump puzzles… I play RPGs because I want my character to be dexterous and strong and skillful, so I don’t have to be!!) :-P
In the WvW (World versus World) areas, you fight for your home server and are paired up against players of two other GW2 servers. Everyone is promoted to “level 80, all skills unlocked”. On the map, the three parties are represented as “red/blue/green team”, and player names are anonymized as “Servername Defender” or “Servername Attacker”. The map is full of transport routes, keeps, and castles, and supplies to build siege weapons. Every once in a while, the WvW score is tallied up (i.e. which teams occupy which percentage of the map), and everyone on the winning server gets a bonus! So if you are playing PvE, and you find more magic items than usual, or certain attacks are more powerful than usual, then this is a side effect of your fellow players’ winning in WvW. A nice game-within-the-game, even for people who don’t typically play PvP. I only looked at it once and I don’t get how to build all this siege stuff, but I’ll find out. ;)
In the PvP (Player versus Player) arenas, again, everyone is promoted to “level 80, all skills unlocked”. I wasn’t there yet, but I guess you… fight other players? =-) They also say PvP is a nice way for beginners to test different combinations of equipment and skills before they unlock them for their PvE character.
In short, GW2 is doing a good job to be the MMORPG that has “something for everyone”. Nearly all of these sub-games are optional. If you happen to hate elaborate background stories, or jump puzzles, or dungeons — then just don’t do them, and stick with the rest. There is also an interesting mixture of steampunk, magic, and fantasy. Cf screenshot above: So, let’s see… Mechanical robots are cleaning up radioactive magic over here, while some fire elementals want to duell behind the reactor… Sure … Right … Happens all the time! :-)
Comment now »
Once a year I get the urge to sign up for a MMORPG. (And play it for a few months, until inevitably my hand-eye coordination and strategy skills no longer keep up, and I give up.) :-P Last year, it was EveOnline, this year, it’s Guild Wars 2. One big advantage of GW2 is that it’s “pay once, play as often as you like”, in contrast to many other MMORPGS that have monthly pay schemes.
As any MMORPG, GW2 lets you choose from several races and professions. However, every race can play every profession equally well (despite the fact that the background story characterizes races as “preferring” this or that). There are no preset character boni biased to certain combinations. The choice of race only influences where on the map you start, the first 20 or so “personal storyline” quests are different (if you choose to play them), and a handful of racial skills are different.
Races: The Charr are large buffalo-horned lion-like warriors; the Humans are Paladin-like and backed by religion; the Norn are Wiking-like shamans who can turn into animals; the Asura are tiny geeky ugly-cute trolls (a “race full of Sheldons”, a friend calls them); the Sylvari are plant-faced hippy dreamers (no, really, I’m serious, some even have mushrooms as heads). :-)
Professions: You can choose from Guardian, Warrior (Soldier-type professions); Engineer, Ranger, or Thief (Adventurer-type professions); Elementalist, Mesmer, or Necromancer (Scholar-type professions). Most of them are what it says on the tin. Engineers can throw elixirs (flasks filled with chemicals) and summon mechanical turrets and golem-robots as allies; Mesmers can summon weak clones and strong phantasms as allies; Elementalist seems to be some kind of wizard. Additionally, each race favors certain weapons.
My character is an Asura Engineer, and I quite enjoy playing it: An Engineer solos well and has a good mixture of ranged and melee skills, different types of damage (similar to curses in other RPGs), and can summon mobile (i.e. golem) and immobile (i.e. turrets) assistance it needed. The default weapons for Engineers are either dual-pistols, pistol+shield, or a rifle. However, your main Engineer skills allow you to replace the weapon with “fun stuff you pull out of your backpack” (elixirs, bombs, mines, flamethrower…) — And Asura is clearly the “comic relief” character for players who don’t take this whole “levelling and being a hero” stuff too seriously. :-)
Comment now »
Social Engineering has existed since “grandsons” have send “friends” to “lend” money from “their” grandmothers. These scammers can identify potential victims simply by watching and following them on the street.
In the guise of chain letters and spam, the digital version of the Social Engineering trick has been around for a few decades, and it is creeping full-on into businesses: Now that we are all “socially networked” at home and at work, there is less to none separation between business and private life, and (in extension) internal and public company info.
Why would your company bother about your private posts on social networks, who you “friend”, or which links click-jack you?
Let’s look at a few recent examples: Scammers can today…
- … identify the security admin (etc) of a company simply by adding up public info from all networks he is on.
Are there people listing security skills on Linkedin or Xing, without disclosing their employers? Do they (i.e. someone with the same name in the same city) mention security conferences and identifyable company events on their private blogs or on facebook?
- … set up fake social network accounts, befriend friends of potentially security-relevant employees, and work their way up from impersonating friends to befriending those employees themselves (and getting access to their shared private info).
“Sorry, pal, not having a Facebook account is now also a security risk to your colleagues, you wouldn’t want someone to create an account in your name and friend them, would you?”
- … circumvent password reset questions with publicly available info, and then take over your twitter feed or private email account.
“What about this work mail that I forwarded to my private address… Did it include the collapsed quoted conversation and attachments…?”
- … determine the home address and daily schedule of security-relevant staff by looking at location-based services.
“No, I’d never use these services that track me… My bicycle’s GPS only shares my daily bike trip data on twitter, including the start/end locations (i.e. home) and start/end time (home possibly unwatched)…”
- … determine which internal security a company has in place simply by looking at their employees’ public skills (on linkedin, xing, forum posts).
“Gee, these guys sure ask lots of question about this version of that internally used software…”
- … tell when the security admin is out of office because their partner is posting vacation pictures of them on facebook.
“No, honey, it doesn’t help to put a black bar over my eyes if you also TIMESTAMP and TAG me in EACH friggin’ photo!”
- … trick employees by mentioning real colleagues and real interests in unsolicited messages that prompt them to install a trojan horse or other malware.
“Why is suddenly everyone sending me those click-jacking links since I friended the admin…?”
There are even automated tools for some of these attacks, that send friend requests to targeted accounts, and make backups of all their publicly available info for later browsing, in case the targets become suspicious (“No, I didn’t contact you, I’m not even on facebook!”) and unfriend the scammer the same day.
I don’t have a simple solution for this. It’s impossible to stay fully anonymous in either your private or work-related internet persona to keep them apart. It’s impossible to forbid your friends and family to tag you. And it’s getting more and more impossible to keep your facebook account separate from work, since many companies ask their employees to like their posts or to reply to customers’ wall posts.
Facebook does not officially allow you to create two accounts (one identity for work, one personal) however. What if they would offer to link two accounts internally (and still show you the same ads)? Both personas’ “likes” would count as one (and only the last one shows, so you can choose whether your work or private persona “likes” this post, depending on who’s logged on), but otherwise keep the personas separated to other users…? That would solve many of the problems — unless you post your party pics as the wrong persona. :-D
Source (in German): Soziale Netzwerke und ihre Auswirkungen auf die Unternehmenssicherheit
Comment now »
Does it ever happen to you that you find a piece of paper on your bedside table in the morning, with some weird scribbles, and you recall that you had this brilliant realization in a dream and wrote it down for posterity…? This is what I just found:
There are more grammatically correct combinations of words in a language, than semantically meaningful sentences. And there are also meanings that we have no words to express. So to be more efficient, we assign these sentence-less meanings to the meaning-less sentences, and presto, idioms!
I am by far not the first one to point this out — Douglas Adams wrote a whole book, the Deeper Meaning of Liff, about this topic! (“A dictionary of things that there aren’t any words for yet; all the words listed are toponyms [place names], and describe common feelings and objects for which there is no current English word.”) Very funny book by the way. My copy came with an added German “translation” (brilliantly mapping the words to placenames from the German language region), and includes a weird “preface” about how the German translator slowly goes insane. (For example he goes to a bookshop demanding to buy an index where all German placenames are sorted alphabetically by their last syllable or something.) ;-)
Comment now »
So… there’s this chocolate factory… And, you know? It has this online order form…
You can choose stuff, not only dark, milk, or white chocolate, but, all kinds of ingredients… nuts, dried fruit, cinamon, jelly beans, mini pretzels, chilli, and what-not!
Must. Order. Chocolate. O_O (And then blog it.) :)
If you pay in advance, you can have your order delivered (the extra cost only makes sense if you order several bars, or live far away). There was a little hitch with the order form, since it allows you to check personal pick-up, but then you cannot select cash payment. I selected another payment option and added a note saying I would pay cash. The email bounced. *sigh* A second message to the cafe’s main email address went through, but I got no confirmation.
After 2 days, I rechecked my “user account”, and it had been silently ammended with “in progess”. Four days later, I got a message that the order was ready for pick-up.
This is the default box your order comes in. You can also pay for a prettier one with a nicely designed picture. They store the orders in a fridge on display right in the cafe. The best-before date is three months from now (Do they really think chocolate will survive that long?)
This is what the actual bar looks like: Normal looking chocolate bar with Sollbruchstellen (break zones) on the front, and, ta-daa, your order of fruit, spices, or candy, visible in the back.
The web page says that each order contains 100 gramms of chocolate. This turned out to be an exageration, since the whole bar including the extra ingredient weighs just 100 gramms. The tiny sham about the weight would be the only criticism I have. Apart from this, the taste of my “dark chocolate, ginger slices” is just perfect. :)
Comment now »
Uh… is it normal that when you type
into Skype, it retroactively changes the word “blah” to “stuff” in your last message…?
I mean, it’s useful and all, but… does nobody ever think of computational linguists chatting about regular expressions?!? ;-o