Skip navigation
Help

Pascal

warning: Creating default object from empty value in /var/www/vhosts/sayforward.com/subdomains/recorder/httpdocs/modules/taxonomy/taxonomy.pages.inc on line 33.

mikejuk writes "Is it possible that we have been wasting our time typing programs. Could voice recognition, with a little help from an invented spoken language, be the solution we didn't know we needed? About two years ago Tavis Rudd, developed a bad case of RSI caused by typing lots of code using Emacs. It was so severe that he couldn't code. As he puts it: 'Desperate, I tried voice recognition'. The Dragon Naturally Speaking system used by Rudd supported standard language quite well, but it wasn't adapted to program editing commands. The solution was to use a Python speech extension, DragonFly, to program custom commands. OK, so far so good, but ... the commands weren't quite what you might have expected. Instead of English words for commands he used short vocalizations — you have to hear it to believe it. Now programming sounds like a conversation with R2D2. The advantage is that it is faster and the recognition is easier — it also sounds very cool and very techie. it is claimed that the system is faster than typing. So much so that it is still in use after the RSI cleared up."

0
Your rating: None

CowboyRobot writes "David Chisnall of the University of Cambridge describes how interfacing between languages is increasingly important. You can no longer expect a nontrivial application to be written in a single language. High-level languages typically call code written in lower-level languages as part of their standard libraries (for example, GUI rendering), but adding calls can be difficult. In particular, interfaces between two languages that are not C are often difficult to construct. Even relatively simple examples, such as bridging between C++ and Java, are not typically handled automatically and require a C interface. The problem of interfacing between languages is going to become increasingly important to compiler writers over the coming years."

0
Your rating: None

Look at this incredible thing Ian Baker created. Look at it!

The PHP hammer

What you're seeing is not Photoshopped. This is an actual photo of a real world, honest to God double-clawed hammer. Such a thing exists. Isn't that amazing? And also, perhaps, a little disturbing?

That wondrous hammer is a delightful real-world acknowledgement of the epic blog entry PHP: A Fractal of Bad Design.

I can’t even say what’s wrong with PHP, because – okay. Imagine you have uh, a toolbox. A set of tools. Looks okay, standard stuff in there.

You pull out a screwdriver, and you see it’s one of those weird tri-headed things. Okay, well, that’s not very useful to you, but you guess it comes in handy sometimes.

You pull out the hammer, but to your dismay, it has the claw part on both sides. Still serviceable though, I mean, you can hit nails with the middle of the head holding it sideways.

You pull out the pliers, but they don’t have those serrated surfaces; it’s flat and smooth. That’s less useful, but it still turns bolts well enough, so whatever.

And on you go. Everything in the box is kind of weird and quirky, but maybe not enough to make it completely worthless. And there’s no clear problem with the set as a whole; it still has all the tools.

Now imagine you meet millions of carpenters using this toolbox who tell you “well hey what’s the problem with these tools? They’re all I’ve ever used and they work fine!” And the carpenters show you the houses they’ve built, where every room is a pentagon and the roof is upside-down. And you knock on the front door and it just collapses inwards and they all yell at you for breaking their door.

That’s what’s wrong with PHP.

Remember the immediate visceral reaction you had to the double-clawed hammer? That's exactly the reaction most sane programmers have to their first encounter with the web programming language PHP.

This has been going on for years. I published my contribution to the genre in 2008 with PHP Sucks, But It Doesn't Matter.

I'm no language elitist, but language design is hard. There's a reason that some of the most famous computer scientists in the world are also language designers. And it's a crying shame none of them ever had the opportunity to work on PHP. From what I've seen of it, PHP isn't so much a language as a random collection of arbitrary stuff, a virtual explosion at the keyword and function factory. Bear in mind this is coming from a guy who was weaned on BASIC, a language that gets about as much respect as Rodney Dangerfield. So I am not unfamiliar with the genre.

Except now it's 2012, and fellow programmers are still writing long screeds bemoaning the awfulness of PHP!

What's depressing is not that PHP is horribly designed. Does anyone even dispute that PHP is the worst designed mainstream "language" to blight our craft in decades? What's truly depressing is that so little has changed. Just one year ago, legendary hacker Jamie Zawinski had this to say about PHP:

I used to think that PHP was the biggest, stinkiest dump that the computer industry had taken on my life in a decade. Then I started needing to do things that could only be accomplished in AppleScript.

Is PHP so broken as to be unworkable? No. Clearly not. The great crime of PHP is its utter banality. Its continued propularity is living proof that quality is irrelevant; cheap and popular and everywhere always wins. PHP is the Nickelback of programming languages. And, yes, out of frustration with the status quo I may have recently referred to Rasmus Lerdorf, the father of PHP, as history's greatest monster. I've told myself a million times to stop exaggerating.

The hammer metaphor is apt, because at its core, this is about proper tooling. As presciently noted by Alex Papadimoulis:

A client has asked me to build and install a custom shelving system. I'm at the point where I need to nail it, but I'm not sure what to use to pound the nails in. Should I use an old shoe or a glass bottle?

How would you answer the question?

  1. It depends. If you are looking to pound a small (20lb) nail in something like drywall, you'll find it much easier to use the bottle, especially if the shoe is dirty. However, if you are trying to drive a heavy nail into some wood, go with the shoe: the bottle will shatter in your hand.
  2. There is something fundamentally wrong with the way you are building; you need to use real tools. Yes, it may involve a trip to the toolbox (or even to the hardware store), but doing it the right way is going to save a lot of time, money, and aggravation through the lifecycle of your product. You need to stop building things for money until you understand the basics of construction.

What we ought to be talking about is not how terrible PHP is – although its continued terribleness is a particularly damning indictment – but how we programmers can culturally displace a deeply flawed tool with a better one. How do we encourage new programmers to avoid picking up the double clawed hammer in favor of, well, a regular hammer?

This is not an abstract, academic concern to me. I'm starting a new open source web project with the goal of making the code as freely and easily runnable to the world as possible. Despite the serious problems with PHP, I was forced to consider it. If you want to produce free-as-in-whatever code that runs on virtually every server in the world with zero friction or configuration hassles, PHP is damn near your only option. If that doesn't scare you, then check your pulse, because you might be dead.

Everything goes with PHP sauce! Including crushing depression.

Therefore, I'd like to submit a humble suggestion to my fellow programmers. The next time you feel the urge to write Yet Another Epic Critique of PHP, consider that:

  1. We get it already. PHP is horrible, but it's used everywhere. Guess what? It was just as horrible in 2008. And 2005. And 2002. There's a pattern here, but it's subtle. You have to look very closely to see it. On second thought, never mind. You're probably not smart enough to figure it out.
  2. The best way to combat something as pervasively and institutionally awful as PHP is not to point out all its (many, many, many) faults, but to build compelling alternatives and make sure these alternatives are equally pervasive, as easy to set up and use as possible.

We've got a long way to go. One of the explicit goals of my next project is to do whatever we can to buff up a … particular … open source language ecosystem such that it can truly compete with PHP in ease of installation and deployment.

From my perspective, the point of all these "PHP is broken" rants is not just to complain, but to help educate and potentially warn off new coders starting new codebases. Some fine, even historic work has been done in PHP despite the madness, unquestionably. But now we need to work together to fix what is broken. The best way to fix the PHP problem at this point is to make the alternatives so outstanding that the choice of the better hammer becomes obvious.

That's the PHP Singularity I'm hoping for. I'm trying like hell to do my part to make it happen. How about you?

[advertisement] How are you showing off your awesome? Create a Stack Overflow Careers profile and show off all of your hard work from Stack Overflow, Github, and virtually every other coding site. Who knows, you might even get recruited for a great new position!

0
Your rating: None

Kevin Systrom is the cofounder and CEO of Instagram, which Facebook just acquired for $1 billion.

Reports say Systrom will make $400 million in the deal.

Instagram is a photo-sharing app that launched just a couple years ago, and already has 30 million users.

We'd love to talk to Systrom about the deal, how he got to where he is today, and his plans going forward.

But we can't.

kevin systrom

Facebook is going to IPO next month, and that means its executives – now including Systrom – are required to honor the SEC's "quiet period" rules.

Fortunately, Systrom is not just a wildly successful CEO, he's also a Quora addict. He's answered over 50 questions on the site. Also, Systrom did a Q&A with Business Insider's Matt Rosoff last fall. 

Below, we've collected (and lightly edited) some of the best questions and on-record-answers from those resources to compile a Q&A with Silicon Valley's newest $400 million man.

How and when did you begin coding?

Depends what you mean by coding. I've been programming here and there since I was in middle school. In high school I was excused from my foreign language requirement so I could take more computer science classes. The first real class I took was in Pascal, and then later in c++. Independently I started playing with MySQL and PHP, but never did anything significant.

My freshman year at Stanford I took CS106X which was the first year's worth of CS in 1 quarter (it's usually two). I wouldn't say I did so well... I looked around and saw so many fantastically smart folks in that class and decided I was better off majoring in something like business. Looking back I wish I had stuck with it. It turns out that no undergrad class prepares you to start a startup -- you learn most of it as you do it.

So anyway, long story short, I only took one CS class at Stanford, and instead of majoring in it, I coded basic projects on the side for fun (a student marketplace, an internet radio station, etc). At Odeo as the intern I picked up Ruby on Rails but forgot it quickly as I took a marketing job at Google.

Only at my next job at Nextstop would I say I went from being a hobbyist to being able to write code that would go into production. The lesson I take from this all is that a) don't give up so quickly if it's something you actually enjoy and b) 99% of what I do on a daily basis I learned on the job -- classes/majors can prepare you to learn on the job, but *doing* the work is where you learn what you'll use every day.

What do the different image filters on Instagram actually do?

Our filters are a combination of effects – curve profiles, blending modes, color hues, etc. In fact, I usually create them in photoshop before creating the algorithms to do them on the phone

How does Instagram choose names for their filters?

I wish that I could say it's more interesting - but often it has to do with the inspiration for the filter... a type of film, a photo we've seen, or simply what we were doing at the time.

At what point in Instagram's product development did square photos become the standard?

From day one. We realized that if we were going to do photos, that we'd have to be different and stand out. Square photos displayed really well in a feed format and frankly we just liked the aspect ratio better. It wasn't much more complex than that.

How old are you?

I was born Dec. 30th 1983

Do you code at Instagram?

Yes. I've been doing mostly backend work lately – python/django stuff.

How did Instagram get its name?

A long week of searching for something that combined the 'right here right now' aspect of what we were trying to accomplish with the idea of recording something in your life (hence the suffix -gram). 

We also wanted something relatively unique. We had a bunch of other names that were in the running, but there were lots of other apps with names that were too similar. Another characteristic was whether or not you could tell someone the name and they could spell it easily.

How long was Instagram in development for before launch?

KS: It's hard to answer this question, because there's the client and then there's the server. Most of the server code was taken from Burbn. (For those who never used Burbn, Instagram looks/feels/acts a lot like burbn, only it's focused on posting a photo). That code took many months to develop, refine, and turn into libraries that we can use internally on just about any project. We built them knowing we'd likely reuse them in other experiments down the road. We learned *a lot* along the way that made Instagram act the way it does currently.

The app itself took about 8 weeks. 

How many developers built the original Instagram app?

KS: It was just two.

What is the history of Instagram?

KS: Instagram is an app that only took 8 weeks to build and ship, but was a product of over a year of work.

The story starts when I worked at Nextstop. While I was there working in marketing, I started doing more and more engineering at night on simple ideas that helped me learn how to program (I don't have any formal CS degree or training). One of these ideas was combining elements of foursquare (check-ins) with elements of Mafia Wars (hence the name Burbn). I figured I could build a prototype of the idea in HTML5 and get it to some friends. Those friends ended up using the prototype without any branding elements or design at all. I spent weekends working on improving the prototype for my friends. At a party for the Hunch folks I ran into a bunch of people who would basically make starting Burbn a reality. At that party were two people from Baseline Ventures and Andreessen Horowitz. I showed the prototype, and we decided we'd meet up for coffee to talk about it. After the first meeting, I decided to take the dive and leave my job to go solo and see if Burbn could be a company. Within two weeks of leaving, I raised $500k from both Baseline and Andreessen Horowitz, and started work on finding a team.

Mike Krieger and I started talking and he decided he liked the idea of helping start the company. Once he joined, we took a step back and looked at the product as it stood. By this time, we had built Burbn into a (private) really neat HTML5 mobile web app that let you: Check in to locations, Make plans (future check-ins), Earn points for hanging out with friends, post pictures, and much more.

We decided that if we were going to build a company, we wanted to focus on being really good at one thing. We saw mobile photos as an awesome opportunity to try out some new ideas. We spent 1 week prototyping a version that focused solely on photos. It was pretty awful. So we went back to creating a native version of Burbn. We actually got an entire version of Burbn done as an iPhone app, but it felt cluttered, and overrun with features. It was really difficult to decide to start from scratch, but we went out on a limb, and basically cut everything in the Burbn app except for its photo, comment, and like capabilities. What remained was Instagram. (We renamed because we felt it better captured what you were doing -- an instant telegram of sorts. It also sounded camera-y)

And now, from Matt Rosoff's Q&A…

Why do you think the app took off so quickly?

KS: We took a very basic action that everyone does in the world, taking a photo, and we put some meaning behind it, some reason behind it. The reason is suddenly all your friends can see that photo immediately, in an instant. But also we make the photo more beautiful. It doesn't take very much to convince people to do what they do every day anyway and then do it through you're product. Really we're just taking people and shifting them from taking photos anyway to taking them on Instagram.

But then, because of the encouragement through making photos beautiful, people are taking way more photos than they would have otherwise because there's a reason to share them.

But what advice would you give somebody to get that initial notice and get that spike in usage?

KS: It's interesting because I've started to work more closely with startups trying to do exactly this, and a lot of people think it's a marketing game. But really, if you build a quality app you will naturally rise through the ranks. I don't know how many apps are in the App Store, but everyone knows a fraction of a percent are really well done, quality, thought out apps. There are a lot of apps that are fun to use, they're utility apps, they're fine. But there are a fraction of apps that are in the cream of the crop. You just need to be in the cream of the crop to get noticed.

I think far too many people focus on how many emails can I send the user to get them to come back at the end of the week. If you build something beautiful and useful they will come back. And sure, you should also do those things, but I don't remember the last email I got from Google saying "hey, you haven't been back to our site in a while."

There are gimmicks, paying for downloads and stuff. But we've never spent a dime on marketing. Great products sell themselves.

What does your average user look like? Do you have a few "whales" who are taking tons of photos and then a bunch more casual users, sort of like Zynga with games?

KS: You can split it up into personas. There are definitely people who don't take any photos but like photos and comment on photos. Like people who joined for Justin Bieber -- a lot of them are there for one reason, and the reason is Justin. At the same time, there are people who subscribe to thousands of people and not only like and comment on their photos but take beautiful photos as well.

What do you think of native apps for mobile phones vs HTML5 apps? I talk to some people who think HTML5 is the way to build one app that works on multiple platforms.

KS: I don't buy it, mostly because we started off as HTML5.

What I don't buy is just your statement. I totally buy HTML5. It's great for some companies. For instance, I think it's awesome for bigger brands who are not technology companies to invest in HTML5. It's much more accessible, the refresh cycle's much smaller, it's just better for the organization to spend their time doing what you do well. If you're a larger brand, having the flexibility to do HTML5 is also great.

But to do what we do, there's no reason why we should do it in HTML5....We were HTML5 when we wereBurbn. But there were so many stumbling blocks getting it out to consumers, the second we went native it was the best decision we ever made. I think that's true, for folks to have a strong consumer experience that needs to be completely polished. I don't buy the cross-platform thing.

What about writing in HTML5 and then wrapping it for each different platform?

KS: Why would you do that? You might as well learn Objective C. I think the big stumbling block is a lot of developers are worried that they don't know this other language so let's build it in HTML and JavaScript. But it turns out if you spend a couple of days learning Objective C, you can get really far. The experience is great, too.

You also hinted at moving beyond photos into video?

KS: I've been mentioning this a lot lately because I don't want people getting stuck with the idea that Instagram is a photo-sharing company. Instagram is a media company. I think we're about visual media. I explain ourselves as a disruptive entertainment platform that enables communication through visual media. I don't think it's just photos. There's a reason we don't allow you to upload photos on the Web as albums. It's not about taking all these photos off your DSLR putting them into an album and sharing them with your family. It's not about that. It's about what are you up to right now out in the real world, how can you share that with everyone. It's about what's happening out in the world. It's about can I consume media from folks like Taylor Swift. That's really interesting to people. What's not interesting to me is becoming a photo storage platform.

Video requires a lot more resources.

KS: Everything does. So does Web. We get six million visits a day to our Web site. Imagine us launching a Web site [for sharing], how much more infrastructure would we need? All of these things are commitments. We have to see where they make sense in our lifecycle?

Are you a photographer?

KS: It's funny, I was a photographer before I was a programmer. But in high school I basically got them to waive a bunch of science requirements so I could take more computer science. I got to college and decided I didn't want to concentrate on computer science for some random reason. But I've always done photography, in the darkroom, and I've always really been into digital photography. If you go on to my Flickr page, you'll see a photo that looks like an Instagram photo, from about 2007. I've always been into taking my photos, cropping them square, putting them through a filter in Photoshop. We just reverse engineered how to do filters, now we opened it up to the masses....

I've done all our filters except for a few. We worked with Cole Rise, one of our users, who did a fantastic job on Amaro, Rise, and Hudson. He did the first three on the list and they're awesome, I use them 24/7. But we're definitely itching to get new ones out there. We talked about doing limited Christmas holiday ones, or whatever, but we're not Angry Birds Seasons or anything like that yet.

Click Here To Meet The 13 Lucky Employees And 9 Investors Behind $1 Billion Instagram >

Please follow SAI on Twitter and Facebook.

Join the conversation about this story »

See Also:

0
Your rating: None

Studying Automata right now and it's kicking my butt. Doing PDAs and how to generate context free grammar (and vice versa) and I'm looking for an alternative explanation to Introduction to Languages and the Theory of Computation, John C. Martin, which is rather dry and formal.

I found a copy of Aho's Principles of Compiler Design (The Green Dragon Book) in the library and am currently reading through that now. Even though a lot of practical examples are in Pascal, I seem to find it much easier to follow, but the sections on Languages and Grammars are quite brief.

I'm not the best student ever. Seeing the same thing from multiple angles tends to help me understand it better, and my memory's not great either so understanding is better than rote memorization of theorems. And Martin's is REALLY theorem heavy.

submitted by nonconvergent
[link] [2 comments]

0
Your rating: None



This Q&A is part of a biweekly series of posts highlighting common questions encountered by technophiles and answered by users at Stack Exchange, a free, community-powered network of 80+ Q&A sites.

Nupul asks: A lot of my peers seem ready to dive in to learn "the next new thing"—lately Python, Ruby or PHP. But it seems that just "knowing" the language is futile. You also need to know the frameworks, learn their usage/APIs and become familiar with good implementation practices.

Read the rest of this article...

Read the comments on this post

0
Your rating: None

compumike writes "CircuitLab today released a browser-based schematic editor and circuit simulator for the online electronics community. SPICE-like device models and mixed-mode simulation support allows engineers and hobbyists to tackle a wide range of board-level design problems. While most EDA software is Windows-only, CircuitLab is 100% web-based, Windows/Mac/Linux cross-platform, and requires no installation or plug-ins. Instead of today's typical forum posts with static screenshots from different desktop tools, the online electronics community can now use CircuitLab to share useful URLs (as well as PNGs and PDFs) which link directly to interactive, editable, runnable schematics. In just a few clicks, another designer can open that circuit, make a change, simulate it, and post the new version back to the community."


Share on Google+

Read more of this story at Slashdot.

0
Your rating: None