iOS Icons made in pure CSS
11 iOS icons made in only CSS, no images whatsoever …
The following demo was made using a variety of CSS techniques. Rounded corners, shadows, gradients, rgba, pseudo-elements, and transforms are just some of them. A lot of these were generated by helpful tools, such as westciv’s tools and Border Radius. By combining these techniques, you can create rich graphics with just a few lines of code.
Loading...
Course Catalog: Masters Degree in Internet Entrepreneurship
So epic. Godspeed.
Every year I set out searching for a graduate degree suited to my career in the Internet industry. I am looking for a combination of computer science classes in web development, design courses that focus on UI, and business courses that teach Internet entrepreneurship.
Disappointed by what universities are offering, I created my own course catalog. It is aimed at entrepreneurial, non-developer, technology professionals that work in the Internet field. There is a strong core of development courses, but they are designed for someone to understand web development as opposed to training students to be developers. I hope to see something like this offered soon.
Please comment if you think a course is missing or disagree with my choices.
Semester 1
Introduction to Programming
An overview of programming that touches on PHP, Python, Ruby, Java, and Objective-C.Internet Activity Theory and Psychology
What causes users to do the things they do? This will be an in depth look at the psychology of an Internet user.Ideation for Web Startups
Students will learn the process of brainstorming and picking apart business ideas. They will learn to spot indicators that an idea will work or not, and how to go about testing a thesis before heavy development begins.Equity Financing
An in-depth course on equity financing where students and will learn about step of the fund raising process with mock simulations at each stage.Semester 2
Pick 1
Development in PHP
Learn the CakePHP framework and in depth development in PHP.Development in Python
Learn the Django framework and in depth development in Python.Development in Ruby
Learn the Rails framework and in depth development in Ruby.Development in Objective-C
Learn the iPhone SDK and in depth development in Objective-C.Development in Java
Learn the Android SDK and in depth development in Java.Frontend Development in Html5/CSS/Javascript
Students will learn to create frontend interfaces and clickable prototypes.User Experience and User Interface Design
Students will learn the fundamentals of usability, and how to design interaction and user interfaces.Business Modeling and Current Events
A case-study driven course will break down successful web companies and their business models. Emerging models will be discussed and students will brainstorm their own. Current events in the tech world will be closely monitored and discussed. STUDENTS WILL NOT BE ASKED TO WRITE A TRADITONAL BUSINESS PLAN.Semester 3
Launch an App Part 1
Students will work with pairs to develop their own app. In Part 1 users will finish the semester with high-fidelity wireframes, a clickable prototype, and detailed tasks broken down for development. In Part 2 students will begin heavy development.Scalability
This course will focus on choosing the right set of tools. It will cover languages, hosting environments (Cloud vs Dedicated Hosting), and databases (SQL vs NoSql)Product Management
In this course students will learn to create a product roadmap. They will learn skills to conduct thorough requirements gathering and user testing. Finally they will learn to break down features into tasks for developers.Agile Project Management
Students will learn the agile project management methodology and will take part in multiple simulations.Semester 4
Launch an App Part II
Students will continue their work from Part I and begin development of their application. Professors will be available throughout the process for programming help. Students will end the semester with the launch of their application.Analytics and Performance Tracking
Students will become experts at setting up, managing, and gaining insight into analytics.Startup Operations
Co-founders, hiring, compensation plans, benefits, management skills, company culture, and office space are all issues that entrepreneurs need to deal with. While these are common to most businesses, startup operations requires a unique touch to create fast moving and innovative environments for your employees.Internet Marketing and PR
Students will learn to conduct marketing and PR for their startup. SEO, SEM, ad-buys, blog PR, and traditional media PR will be covered. Marketing through your website, building a brand, community management and customer service will also be part of this course.It should also require each class to be taught by someone with extensive, hands-on experience and a proven track record in that field.
Loading...
Where Did SetWindowSubclass Come From?
Off and on for the past 4 years, I’ve been writing my own version of a Windows, C++ windowing library. Why write my own? Mainly, I just wanted to better understand the low level Windows API and thought I’d learn it by creating my own windowing library. I also wanted to better understand C++ templates which I use extensively to avoid most virtual calls associated with passing events down an object hierarchy.
My first implementations of this library were always thunk based. I got this idea from Microsoft’s ATL/WTL library and from reading various discussions like this. Thunking does some assembly level magic and allows me to redirect a static WNDPROC invocation to an object’s instance method.
It turns out that thunking isn’t exactly revered or thought to be very safe :) but it worked and it was clever so I stuck with it. Well, late last year I stumbled across SetWindowSubclass and realized I could now, via the Windows API, achieve the same results that thunking gave me. Unlike SetWindowLongPtr, SetWindowSubclass doesn’t preclude end users from using GWL_USERDATA for their own purposes.
My library was always intended to be proprietary since I thought there was some value in getting my thunk to work so consistently but with this little change, I’m considering open sourcing it under the Apache 2.0 license. It may take me a while to clean it up but hopefully I’ll create a repo on github and commit it later this year.
Loading...
Testing with Spring 3
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:/com/domain/app/conf/spring.sb.xml")
public class TestQuickStartController
{
@Autowired
private QuickStartController controller;
@Before
public void setup()
{
// Dependency2 d1 = new Dependency1();
// Dependency3 d2 = new Dependency2(d1);
// Dependency3 d3 = new Dependency3(d2);
// controller = new QuickStartController(d3);
}
@SuppressWarnings("unchecked")
@Test
public void testQuickStart()
{
final Model model = new BindingAwareModelMap();
final String m1 = "hello";
final String dest = controller.quickStart(m1, model);
// test the destination view
Assert.assertEquals("quickstart/example", dest);
// test the message in the model
final String m2 = (String) model.asMap().get("message");
Assert.assertEquals(m1, m2);
// test for the user(s)
final List us = (List) model.asMap().get("users");
Assert.assertNotNull(us);
Assert.assertEquals(1, us.size());
}
}
Loading...
SCM in the Cloud
HG, Git and Drop Box are a heavenly combo (or, should I say, cloud based combo :)
- Source control file system shared across multiple, disparate platforms
- Encrypted data
- Available from anywhere
- Free up to 2GB
Loading...
Objective-C AutoRelease Pool
While reference counting is not new to me, the Objective-C AutoRelease pool is still a little tricky to understand.
Most recently, I learned that the autorelease pool will last for the life (scope) of the method invoking the call to a method in which an object is allocated and autoreleased.
That means I don’t need to retain an autoreleased object I receive from a library function/method if I’m only going to use the object within the local scope of where I received it.
Loading...