|
When I worked at Microsoft I used to read about startups on tech blogs and such. The funny thing is I cannot remember reading about any startups' experiences as they were just getting started. Now that it is my turn, I thought I'd try to capture some of the more mundane details about starting a startup. Maybe some of you will find it interesting. I left Microsoft on the last day of 2012. I took two weeks to announce my departure and sketch out a possible future. By the third week of January, we were in full startup mode. The first rule of startup is: keep on coding.
|
|
|
|
|
A debate is rising on whether the old platitude No UI is the best UI is good or bad. I’ll tell you who is right: no one. Debates like these fall into the same stupid trap academics have fallen into for centuries: Platonic ideals are an illusion. They’re fun to play with, but they’re useless when your hands are dirty trying to solve a real problem for a real person. The only sane replacement is The best UI is what’s best for the person and situation I’m designing for. That’s all. Who cares what’s best in the abstract? Simple is always nice, but sometimes too much is never enough.
|
|
|
|
|
I'm guessing "no UI" means something other than the page timing out when you try to load it; but I have no idea what because...
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
When Google launched its EC2 rival, Google Compute Engine, last June, it set some high expectations. Sebastian Standil’s team at Scalr put the cloud infrastructure service through its paces — and were pleasantly surprised at what they found. Should you switch? It depends on what you want to build.
|
|
|
|
|
A little while ago I got involved in a project that needed some hardware security testing. It was a complex system that used just about every protocol under the sun, including RF. Now RF, like other 'invisible' transport mechanisms, always gets me interested because, in my experience, once data becomes invisible, something magical happens: they forget about security. Nobody can see what's going on, so we don't need to worry about it, right? Wrong. Time and time again I've seen this... MagStripes, InfraRed, RFID, Bluetooth, Magic Moon Beams. You name it, they'll send data over it insecurely. At the tone, your RF remote devices will be hacked.
|
|
|
|
|
Most of our OAuth hacks pwn the Provider and its users (only the most-common vulnerability pwns the Client's authentication). This makes me really curious what the hell is wrong with Facebook and why don't they care about their own Graph security and their own users. Why do they allow a flexible redirect_uri, opening an enormous attack surface (their own domain + client's app domain)? We simply play Find-Chain-Of-302-Redirects, Find-XSS-On-Client and Leak-Credentials-Then-Find-Leaking-Redirect_uri games. Don't they understand it is clearly their business to protect themselves from non ideal clients? Is OAuth short for "Oh no! They just broke my Authentication"?
|
|
|
|
|
From our humble beginnings as a website built with alpha quality forum technologies that we stitched together with creative code and a lot of love, and our videos were made by a few dudes roaming the halls of Microsoft with a cheap camcorder – look at us now. Channel 9 streams live events to 100,000s of people around the world, we have a state of the art recording studio, we do C9 Live at events around the world bringing you directly into the conversation with Microsoft folks in real time. What are your favorite videos from the Channel 9 team?
|
|
|
|
|
I like the overall presentation here.
Explore, Dream. Discover.
|
|
|
|
|
One of my favorite features of Dropbox is 'versioning,' which keeps a copy of every change that you make. Every time you press 'save' on a document that's in your Dropbox, a new version is saved. There are two things I have been wondering about versioning: What happens to changes that you make while offline? What happens to changes when the file is renamed or overwritten? I finally did some quick tests of this, and the answers are pretty straight-forward... Is Dropbox the filesystem of the future? (Or one "version" of it?)
|
|
|
|
|
Online gaming platforms and web forums have used avatars for years, and graphical representations of humans are hardly new, but the wider concept of the avatar is finally waking up. By morphing into life-size, artificially intelligent and customisable platforms, personal and even corporate avatars could soon replace receptionists, sales clerks and even replicate your colleagues in both real and virtual environments. And the avatar revolution has already started on your smartphone. Look at that high definition! Your face... it's amazing.
|
|
|
|
|
For close to thirty years, desktop computing experiences have centered around a keyboard and a mouse or trackpad as our main user input devices. Over the last decade, however, smartphones and tablets have brought a new interaction paradigm: touch. With the introduction of touch-enabled Windows 8 machines, and now with the release of the awesome touch-enabled Chromebook Pixel, touch is now becoming part of the expected desktop experience. One of the biggest challenges is building experiences that work not only on touch devices and mouse devices, but also on these devices where the user will use both input methods - sometimes simultaneously! My feet are feeling left out from this new user input dance.
|
|
|
|
|
Yeah - I have pedals connected to my computer at home (used for Flight Simulator mostly) that could be usefully employed instead of wasting time with the passing fad for greasing up your screens with touch.
- Life in the fast lane is only fun if you live in a country with no speed limits.
- Of all the things I have lost, it is my mind that I miss the most.
- I vaguely remember having a good memory...
|
|
|
|
|
Yes, and what if the grease was someone else's? Nothing more annoying than other people's dirty paw prints on the screen.
|
|
|
|
|
So, explain to me how two things can be together again for the first time. ?
Marc
|
|
|
|
|
Hardly. Any 8 year old who attends a school in the develped world that isn't a complete dump sees and uses smart boards on a daily basis that support some combination of mouse, multi-touch and accurate multipen. The lucky ones get all these at once and that's what they're going to expect from everything else they ever use without a second thought, tablets and laptops are just struggling to keep up.
"The secret of happiness is freedom, and the secret of freedom, courage."
Thucydides (B.C. 460-400)
|
|
|
|
|
Even if you don’t use an RSS reader, you still use RSS. If you subscribe to any podcasts, you use RSS. Flipboard and Twitter are RSS readers, even if it’s not obvious and they do other things besides. Lots of apps on the various app stores use RSS in at least some way. They just don’t tell you — because why should they? ... One way or another, directly or indirectly, you use RSS. Without RSS all we’d have is pictures of cats and breakfast. RSS is just plumbing. But here’s why it’s great plumbing...
|
|
|
|
|
I am fairly sure I don't use RSS at all. Not that I am opposed to it but I just don't think I need it. Love (or the lack of) has nothing to do with it.
- Life in the fast lane is only fun if you live in a country with no speed limits.
- Of all the things I have lost, it is my mind that I miss the most.
- I vaguely remember having a good memory...
|
|
|
|
|
Really, it does. Honest.[^]
From The Verge:
Quote: RSS is built so deeply into the bones of so many websites and web services that we take it for granted.
--------------
TTFN - Kent
|
|
|
|
|
If you are like me and build projects with Arduino, you must have felt the frustration with ripping your project apart, because you wanted to build something else with that Arduino. I have had the same issue many times, so I decided to find a way to solve this once and for all. Hence, how to build an Arduino clone for less than 5$. Breadboard not included.
|
|
|
|
|
You can do it for even less than that if your program is small enough to fit on an ATTiny85 (8k of memory for programs a.k.a 'sketches'), here's how:
How to Program an ATTiny85[^]
You can buy an ATTiny85 microcontroller at Dip Micro for $1.39 Cdn[^]
...or if you want to get fancy you can get an AVRISP programmer shield [^]for your Arduino...makes it easier than jury rigging your own programmer.
|
|
|
|
|
Need to reformat data for use in another application? Plot it on a map? Use it for an interactive Web graphic? These open-source JavaScript libraries can help turn your data into a suitable format for analysis or a compelling online presentation. Venn diagram of this article: (Useful links((Read this))Makes you look smart)
|
|
|
|
|
So why are there so few Windows 8 apps? I will tell you my (and only my) opinion and experience. I developed a few Windows 8 apps, some of them fairly complex. I tried to develop a few really great apps but many of those projects never got done. The reason is the API (WinRT). Let’s start with something (that should be) trivial. Imagine you want to display HTML files with images, CSS, JS in a WebView.... It can be done on Android, iOS and even on Windows Phone by copying the data to isolated storage and pointing the WebView there. This scenario is impossible in WinRT. What's your experience with developing for WinRT so far?
|
|
|
|
|
I'm writing a game, and have encountered a few nasties along the way.
I started off in WinForms and C#, but that was too slow so I replaced GDI+ DeviceContext with WPFs DrawingContext. All it does is draw lots of bitmaps and I thought (probably stupidly) that'd work fine. Then, when I got Windows 8 I discovered that DrawingContext didn't exist any longer.
So, it has to be DirectX which implies having to use C++, but in fact there's an open-source interop layer called SharpDX which takes that away, so now it's C#/DirectX through SharpDX.
That, actually wasn't too hard once I got my head around how DirectX works, sadly the thing which has caused me the most difficulty is something which should be easy.
The bitmaps and config sit in loose files next to the .exe, and I load them in when the game starts. All the normal FileStream/BinaryReader stuff I would normally use for this had either gone, or was unusable (I can't remember). Instead I have to use StorageFile, StorageFolder etc. which all use the new async/await pattern.
This is supposed to make asynchronous programming 'easy', but I found it to be anything but. Indeed your async method gets turned into some sort of hideous state machine and it's very hard to understand the execution flow. That and you can't call an async method from a synchronous method at all easily.
I have a Surface, and just on this device the sound breaks up, like the machine isn't getting there in time to fill the buffers properly. I've spent ages trying to fix this or work around it but no luck so-far. I'm hoping a firmware release might fix it one day.
Still, all that said it's going pretty smoothly and I've abstracted all the horror into a single assembly so that the actual game logic is just the usual C# stuff.
Interestingly, any concerns I had about the performance of C# have gone away. About 90% of the cycles are spent in DirectX so that's just fine. But I am alarmed by the ease of reverse engineering by unlocking the WindowsApps folder and using something like Reflector. I've heard rumours that obfuscating can get you into trouble in terms of certification, but that's unverified.
I also understand that if you offer your product as a "try it free" item a simple hack can convert it into the full featured app without paying for it which is pretty poor.
A lot of effort has gone into it, so I hope it doesn't tank when it comes out. If so, that'll be my app writing days over.
Regards,
Rob Philpott.
|
|
|
|
|
Today, I'd like to talk about a different behavior that seems irrational to me. There is a view that when you write software it should be designed around your database, simply because that is where you are storing your data. It sounds harmless, but the effects are quite negative over time. The first offense that always happens is your code starts to be structured the same as your database. Databases use a relational model, object oriented code uses an object-oriented model. These are not the same thing at all. Before doing something with your database, ask yourself: Would I do this on the filesystem?
|
|
|
|
|
Can't view this at work, WebSense blocks it as category "Sex"
|
|
|
|