All posts in “Github”

’90s kids rejoice! Microsoft releases the original Windows 3.0 File Manager source code

Microsoft has released the source code for the original, 1990s-era File Manager that is so familiar to all of us who were dragging and dropping on Windows 3.0. The code, which is available on Github under the MIT OSS license, will compile under Windows 10.

File Manager uses the multiple-document interface or MDI to display multiple folders inside one window. This interface style, which changed drastically with later versions of Windows, was the standard for almost a decade of Windows releases.

These little gifts to the open source community are definitely fun but not everyone is happy. One Hacker News reader noted that “Most of the MSFT open source stuff is either trash or completely unmaintained. Only a couple of high profile projects are maintained and they jam opt-out telemetry in if you like it or not (despite hundreds of comments requesting them to go away). Even Scott Hanselman getting involved in one of our tickets got it nowhere. Same strong arming and disregard for customers.”

Ultimately these “gifts” to users are definitely a lot of fun and a great example of nostalgia-ware. Let me know how yours compiles by Tweeting me at @johnbiggs. I’d love to see it running again.

Here are the five things I learned installing a Smart Mirror

I recently received a review unit of the Embrace Smart Mirror . It’s essentially a 24-inch Android tablet mounted behind a roughly 40-inch mirror. It works well when 3rd party software is installed. Here’s what I learned.

It’s impossible to get a good photo of the smart mirror

I tried a tripod, selfie stick, and every possible angle and I couldn’t get a picture that does this mirror justice. It looks better in person than these photos show. When the light in the bathroom is on, the text on the mirror appears to float on the surface. It looks great. The time is nice and large, and the data below it is accessible when standing a few feet away.

When the room is dark, the Android device’s screen’s revealed since it can’t reach real black. The screen behind the mirror glows gray. This isn’t a big deal. The Android device turns off after a period of inactivity and is often triggered by the light to the bathroom is turned on. More times than not, people walking into the room will be greeted with a standard mirror until the light is turned on.

There’s a handful of smart mirror apps, but few are worthwhile.

This smart mirror didn’t ship with any software outside of Android. That’s a bummer but not a deal breaker. There are several smart mirror Android apps in the Play Store though I only found one I like.

I settled on Mirror Mirror (get it) because the interface is clean, uses pleasant fonts and there’s just enough customization though it would be nice to select different locations for the data modules. The app was last updated in July of 2017 so use at your own risk.

Another similar option is this software developed by Max Braun, a robotistic at Google’s X. His smart mirror was a hit in 2016, and he included instructions on how to build it here and uploaded the software to GitHub here.

Kids love it.

I have great kids that grew up around technology. Nothing impresses these jerks, though, and that’s my fault. But they like this smart mirror. They won’t stop touching it, leaving fingerprints all over it. They quickly figured out how to exit the mirror software and download a bunch of games to the device. I’ve walked in on both of kids huddled in the dark bathroom playing games and watching YouTube, instead, of you know, playing games or watching YouTube on the countless other devices in the house.

That’s the point of the device, though. The company that makes this model advertises it as a way to get YouTube in the bathrooms so a person can apply their makeup while watching beauty YouTubers. It works for that, too. There is just a tiny bit of latency when pressing on the screen through the mirror. This device isn’t as quick to use as a new Android tablet, but since it’s sealed in a way to keep out moisture, it’s safe to go in a steamy bathroom.

Adults will find it frivolous.

I have a lot of gadgets in my house, and my friends are used to it. Their reaction to this smart mirror has been much different from any other device, though.

“What the hell is this, Matt,” they’ll say from behind the closed bathroom door. I’ll yell back, “It’s a smart mirror.” They flush the toilet, walk out and give me the biggest eyeroll.

I’ve yet to have an adult say anything nice about this mirror.

It’s frivolous.

A smart mirror is a silly gadget. To some degree, it’s a , but in the end, it’s just another gadget to tell you the weather. It collects fingerprints like mad, and the Android screen isn’t bright enough to use it as a regular video viewer or incognito TV.

As for this particular smart mirror, the Embrace Smart Mirror, the hardware is solid but doesn’t include any smart mirror software. The Mirror is rather thin and easily hangs on a wall thanks to a VESA port. There are physical controls hidden along the bottom of the unit including a switch to manually turn off the camera. It’s certified IP65 so it can handle a bathroom. A motion detector does a good job turning the device on so. If you don’t have kids, it should stay smudge-free.

The Embrace Smart Mirror does not ship with any smart mirror software. The instructions and videos tell users to add widgets to the Android home screen. This doesn’t work for me, and I expect a product such as this to include at least necessary software. Right now, after this product is taken out of the box, it’s just an Android tablet behind a mirror, and that’s lame. Thankfully there are a couple of free apps on the Play Store to remedy this problem.

At $1,299, the Embrace Smart Mirror is a hard sell but is among the cheapest available smart mirrors on the market. Of course, you can always build one yourself, and as The Verge points out, it’s rather easy.

Apple is none too pleased with seeing leaked iPhone source code on GitHub

Coming for you.
Coming for you.

Image: JOSH EDELSON /Getty Images

Apple’s legal team has been busy. 

Less than 24 hours after Motherboard reported that a leaked version of some iPhone source code was posted to GitHub, the iBoot files in question have been pulled down and replaced with a Digital Millennium Copyright Act takedown notice. 

At issue, explains a statement on behalf of Apple by law firm Kilpatrick Townsend & Stockton LLP, is the alleged “Reproduction of Apple’s ‘iBoot’ source code, which is responsible for ensuring trusted boot operation of Apple’s iOS software.”

The files had allegedly been floating around the internet since 2016, but their landing on GitHub was apparently a step too far for the Cupertino-based behemoth.  

“The ‘iBoot’ source code is proprietary and it includes Apple’s copyright notice,” reads the statement. “It is not open-source.”

An excerpt from the iBoot code.

An excerpt from the iBoot code.

Image: iboot

Importantly, this code is several years old so it’s not exactly clear what impact, if any, this leak will have on iPhone users. 

We reached out to the person who, under the username of ZioShiba, posted the source code to GitHub in the first place in an effort to determine his or her motives, but have not received a response as of press time. 

Apple, on the other hand, definitely has some thoughts. 

“Old source code from three years ago appears to have been leaked, but by design the security of our products doesn’t depend on the secrecy of our source code,” the company said in a statement to Mashable. “There are many layers of hardware and software protections built into our products, and we always encourage customers to update to the newest software releases to benefit from the latest protections.”

Even though Apple appears to be playing it cool, it’s safe to assume that the legal team it hired isn’t too happy, and will do everything in its power to make sure this code is permanently wiped from Github. 

Unfortunately for everyone in Cupertino, at the time of this writing what appears to be three copies of the code have already been uploaded to GitHub. So, yeah, once it’s out there there’s not really any going back. 

This story has been updated to include comment from Apple, and a tweet from Will Strafach. 

[embedded content]

Sourcegraph raises $20M to bring more live collaboration to coding


Quinn Slack thinks we’re close to the future that Back to the Future II promised back in the ’80s — flying cars, artificial intelligence, sending rockets into space and the rest of the whole suite — but there’s a way to get there even faster.

That’s why he and his co-founder Beyang Liu started Sourcegraph, a development environment for programmers that’s designed to make it easier to see who is using which lines of code and where while in the development process. The notion Slack employs is that if the coding process speeds up, so does the pace of innovation — and it is certainly something that’s slowed down quite a bit at all the non-Facebooks, Googles and Apples of the world.

To do this, Sourcegraph says it has raised a $20 million Series A financing round led by Redpoint Ventures along with Goldcrest Capital. Scott Raney of Redpoint Ventures, who has worked with Twilio (which I’d argue has some of the best documentation for introducing someone to programming), and Dan Friedland of Goldcrest Capital are joining the board of directors.

“How most companies build software is broken, programmers write code in single player mode,” Slack said. “They fix the same bugs fixed by other developers. Salespeople have tools that help you and the salesperson that lets you collaborate. But if you’re a developer you come in and spend most of your day on an editor, most people don’t know what’s going on. You don’t see what others are writing. All the software developers you do, you go heads down a week or two and then come up for air. At Google and Facebook, it’s way more collaborative. It’s fundamentally a different way of writing.”

All this boils down to some simple tools you might expect in a lot of other professions. It means being able to easily search for code semantically, and see who’s using it and where it’s deployed — and, more importantly, whether or not someone is fixing something somewhere. By just getting everyone on the same page, Slack thinks that it’ll smooth out the whole process so people can focus on building, and shipping, the new bits of the products that they need. The whole thing can happen in a developer’s favorite editor like Sublime Text, or it can happen in the startup’s internal development environment.

“The way software has been built really hasn’t changed,” Raney said. “Increasingly developer productivity is a bottleneck. Really what attracted us, the code intelligence parts, was that the implications are profound. If you were just to build another IDE, that’s gonna be a really difficult way to build a business. That’s, ‘I like this command, or it’s a little faster.’ Code intelligence is a really meaty problem that’s hard to replicate.”

Slack’s experience comes from his job of parachuting into major organizations that aren’t in that FAANG bracket of the world — like banks — and seeing how no one knew what anyone else was working on. The challenge, then, was to figure out how to make the larger projects more collaborative so these companies could move at the same pace that a Facebook or Google would be able to do. That would not only keep them competitive but also help them reach new breakthroughs more quickly.

“We have users and customers doing really interesting things like self-driving cars, blasting rockets off, and we want to make those happen more quickly,” Slack said. “These things we’ve wanted to exist, we can make them go faster because the people writing the code can do it better. Within a company, you get to avoid reinventing the wheel. We prototyped a tool that did that, that’s how most developers got to know us.”

There are certainly other products looking to attack a similar problem of getting developers on the same page. There’s — at least potentially — GitHub and other repository tools that help developers collaborate on the code they check in and out. Slack said that while GitHub is a great developer tool, developers still spend most of their time hiding away in a different text editor cranking away. Sourcegraph’s goal is to immerse developers into a more real-time experience, which keeps them up to date and working on the most important things they need to develop.

Codota raises $2M from Khosla as autocomplete for developers


In recent years, GitHub has fundamentally changed developer workflows. By centralizing code on an easily accessible platform, the company was able to rapidly change the way people code. Following in these footsteps, Israeli startup Codota wants to further optimize workflows for the often neglected developer community — this time with machine intelligence. The company is announcing a $2 million seed round from Khosla Ventures for its autocomplete tool that helps engineers push better code in less time.

Codota interfaces with integrated development environments like Eclipse, expanding on intelligent code completion. Instead of just offering up brief suggestions of intended code, Codota can recommend larger chunks.

Co-founders Dror Weiss and Eran Yahav took advantage of open source code on the internet from GitHub and StackOverflow to build Codota. All of this public code was fed into machine learning models to enable them to recognize higher-level meaning across blocks of code.

The Codota team at its Tel Aviv headquarters

Programing languages share a lot of structural similarities with their distant spoken cousins. Words can be arranged in infinitely many ways to express a single thought or sentiment. Likewise, the same command can be represented in code in a number of ways. This is why it’s so critical that Codota understands the macro picture of what code is doing.

Of course natural language and code are not completely analogous. The team explained in an interview that in natural language processing, meaning is determined by looking at nearby words. Programs are more structured and meaning isn’t always strongly correlated with locality. So instead of just training on text, Codota also focused on the behaviors of a program.

Aside from improving speed and accuracy, Codota can help with discovery and education. Because Codota has been trained on millions of API implementations, it can help offer up best practices to developers. When open side-by-side with an IDE, the tool can highlight irregularities and demonstrate better ways to write code, lessons often pulled straight from the original creators of libraries.

The startup makes its money by allowing enterprises to keep their internal code private while benefitting from Codota’s insights. Right now the tool is limited to Java, but in the future additional languages will be added.

Featured Image: maciek905/Getty Images