Skip to content

beware: email phishing

Here is a handy phishing flow chart that can help inexperienced computer users in analyzing potentially dangerous emails. Check out our how to identify phishing attacks guide for additional information and tips on phishing attacks.

The flow chart basically walks a user through the analysis of an email. It begins by identifying the sender and then checking consecutively if the email contains links or attachments and if it requests personal information.

The red end points define potentially dangerous emails while the blue end point an email that is likely safe.

reblogged from


What things do you do to become the best programmer?

project = findNewProject();
hasProject = true;

while (!dead && hasProject) {
isDone = try(code);
if (isDone) {
project = findNewProject();
} else {

reblogged from Quora

graph theory and algorithms

nearing the end of lesson 3 — basic graph algorithms of udacity’s algorithms course and was still fuzzy about how to code the concepts and procedures so went hunting for relevant resources on the web and found Problem Solving with Algorithms and Data Structures by Runestone Interactive.

this online course starts with an intro containing a python review, then goes through chapters on analysis, basic data structures, recursion, sorting and searching, and trees and tree algorithms before ending with the chapter on graphs and graph algorithms. features WebM vids for the self check solutions as well as coding exercises.

another good resource is the youtube graph theory playlist of Mathispower4u:

the playlist covers the brute force algorithm, euler paths and circuits, hamilton circuits and lowest cost path, djikstra’s as well as fleury and kruskal’s algorithms, the complete graph, spanning trees, and the nearest neighbor algorithm.

most Matispower4u vids are based on the Math in Society: A survey of mathematics for the liberal arts major book at the Open Course Library.

the book is downloadable in doc and pdf formats in its entirety or by chapter.  the doc graph theory chapter is here, the pdf version here. each chapter also has its own video playlist. the graph theory video playlist is here.

hope these help you as much as they did me! cheers!


algorithmic efficiency

starting point for improving the speed of a (deterministic) primality test

MIT OCW Introduction to Algorithms

Part of the Open Courseware offerings at MIT, the course “teaches techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics covered include: sorting; search trees, heaps, and hashing; divide-and-conquer; dynamic programming; amortized analysis; graph algorithms; shortest paths; network flow; computational geometry; number-theoretic algorithms; polynomial and matrix calculations; caching; and parallel computing,” features complete lecture notes and videos, and is also taught as part of the Singapore-MIT Alliance. (complete description here)

the complete playlist of 47 videos can be found here.

udacity’s intro to comp sci

dunit! finished CS 101: Introduction to Computer Science over at Udacity. boy, was it a workout! a mountain trek of steep climbs and lots of ups and sudden downs compared to the walk-in-the-park that was codecademy’s python track. not that codecademy was a breeze for a noob like me.

the syllabus:

Lesson 1: How to Get Started

Your first program: Extracting a link

Lesson 2: How to Repeat

Procedures, decisions (if), loops; finding all of the links on a page

Additional Lesson: How to Solve Problems

Universal techniques for solving programming problems

Lesson 3: How to Manage Data

Lists; crawling the web

Lesson 4: Responding to Queries

Complex data structures; building a reverse index to do searches; networks

Lesson 5: How Programs Run

Reasoning about cost; hash tables (Dictionary)

Lesson 6: How to Have Infinite Power

Recursive definitions; ranking search results

Lesson 7: Where to Go from Here

Past, present, and future of computing; exam

Extended Units

(These units were not part of the original (7-week) course, but have been added to the course.)

Lesson 8: How to Learn New Things

Tips for learning more on your own

Lesson 9: How to Manage Complexity

Modules, types, classes

Lesson 10: How to Reuse Classes


Lesson 11: Programs in the Real World

File IO, and Exceptions

the course is part of their data science and web development tracks. revolving around the coding of a web crawler, it’s tough but fun — definitely a productive learning experience for me. the additional lesson on how to solve problems was a gem. quibbles? while lessons 1 – 7 were polished, the extended ones (lessons 8 -11) were a bit spotty in a noticeable number of places and can certainly be made more MOOC-friendly by the addition of the course notes and downloadable pdfs that were available for the original 7 lessons. and i could not unzip the downloadable videos even though i noted this in a survey form.

loved the optional problem set offerings that featured gold stars as incentives. had to surf the web and the udacity forums for insights and tips to finish these but those extra bits of additional knowledge from stack overflow, various online python tutors, and a few python blog posts were worth the extra effort needed to submit acceptable solutions.

deep and heartfelt thanks to professor evans, the teaching assistants, the forum moderators (goldsong, paidhima, and a few others whose user names i can’t recall now), and fellow udacians for making the course a wonderfully productive experience!

what’s next? had originally planned to return to CS 262: Programming Languages (from which i had backtracked to CS 101). a bit of looking around, however, led me to CS 215 : Algorithms, an “introduction to the design and analysis of algorithms, enabling you to analyze networks and discover how individuals are connected.” the goal is to get a better grasp of this essential skill and be better prepared for 262. then, perhaps, back to 262 before tackling CS 212: Design of Computer Programs (Programming Principles) and onwards to Web and Mobile Web Development. maybe some algebra courses on the side too.

anyways, that’s the plan. and plans never survive the reality of contact! ^_^

novena open source laptop

bunnie huang reports that

After over a year and a half of hard work, I’m happy to say our machines are in a usable form. The motherboards are very reliable, the display is a 13-inch 2560×1700 (239 ppi) LED-backlit panel, and the cases have an endoskeleton made of 5052 and 7075 aluminium alloys, an exterior wrapping of genuine leather, an interior laminate of paper (I also love books and papercraft), and cosmetic panels 3D printed on a Form 1. The design is no Thinkpad Carbon X1, but they’ve held together through a couple of rough international trips, and we use our machines almost every day.

he adds that it has been

well-received by hackers, given its home brew appearance, relatively meagre specs and high price. The positive response has encouraged us to plan a crowd funding campaign around a substantially simplified (think “all in one PC” with a battery) case design: that’s right, the final design will not look like these early, hand-built prototype cases.

the first two prototypes

his original makezine post can be found here, and the novena mainpage is here.

way to go bunnie!

he mentions silicon poisoning in his makezine post. check out the link in case you’re not yet aware of hardware Trojans.


Fresh hacks every day

Don Charisma

because anything is possible with Charisma

The Grand Narrative

Korean Feminism, Sexuality, Popular Culture


This site is the bee's knees


helps you have more fun with knowledge creation

Ask a Korean!

rebooting a coding journey

Stupid Ugly Foreigner

Walk softly and carry a big stick. You'll need it to fight the monkeys.

Gusts Of Popular Feeling

rebooting a coding journey

I'm no Picasso

rebooting a coding journey

The Daily Post

The Art and Craft of Blogging