GGHC Hardware: From Idea – To Prototype – To Final Product
May 4, 2011 by kakeman · Leave a Comment
During the brainstorming session, we conceived an idea of doing “The Story Box”. It’s a device with a button and an LCD display. When a user press the button, a random word is displayed on the LCD display. Simple.
Knowing that the competition requires us to use microcontroller and portable power source, we have decided to use an Arduino, powered by any 9V battery.
There are 2 options available to us:
1) Making a full blown Arduino Story Box, OR
2) Making an Arduino Shield.
We choose the latter, since Arduino of some sort are easily available. We just need a shield that can be plugged on top of an Arduino to do the job. This will also make the solution cheaper.
This translate into the following hardware specification:
16×2 Character LCD: displaying the random word.
Momentary button: the only button for user interaction.
Buzzer: acknowledging that the user has pressed the button.
I2C EEPROM: storing a list of word.
Preset 1: adjusting brightness of the LCD backlit.
Preset 2: adjusting contrast of the LCD display.
Prototype: Where the Hardwork Begins
We are divided into 3 teams: the hardware team, software team and the documentation team.
For starter, the hardware team gave the software team an LCD shield to kick start the programming effort. At the same time, the hardware teams did a quick prototyping on a breadboard.
After we were convinced that the prototype is working, we did another round of prototyping on a Protoshield.
All is well, we then started to lay out the PCB in the EAGLE Layout Editor. After a few iterations, this was what we get. Finally.
Final Product (for GGHC): By No Mean The End
Here is how The Story Box evolved: from idea, to prototype, and finally to final product for the contest.
We will not stop at here. Some members have indicated their interest in taking this further. We are very keen to see how others will use The Story Box. We very much welcome any suggestion to make this The Story Box a useful educational device.
Share this article
Electronics Friday 29/04/2011: GGHC Build Meetup #8 (Final Push)
April 29, 2011 by kakeman · Leave a Comment
This would be the last build session where we will integrate everything.
What?
- Integrate hardware and software.
- Test the “Word List Uploader”.
- Do a demo video.
When?
We are usually open as early as 4pm, with a break for dinner at around 7-8pm. And continue on till 10:30 or 11pm. If you want to come earlier, the best time is usually around 6:30 (before we go off for dinner)
Where?
Hackerspace KL
Who?
Members of Hackerspace KL.
Share this article
Electronics Friday 22/04/2011: GGHC Build Meetup #6
April 22, 2011 by kakeman · Leave a Comment
We are almost there, hardware and software. We will have some “The Story Box” tonight.
What?
- Hardware: Etch some PCBs for The Story Box
- Software: 1. Interface with I2C EEPROM. 2. Test Python based Word List Uploader.
- Target: We will have some finished “The Story Box” in our hand by tonight.
When?
We are usually open as early as 4pm, with a break for dinner at around 7-8pm. And continue on till 10:30 or 11pm. If you want to come earlier, the best time is usually around 6:30 (before we go off for dinner)
Where?
Hackerspace KL
Who?
Members of Hackerspace KL.
Share this article
Draft: House Rules
February 21, 2011 by klks · Leave a Comment
Members,
We are currently compiling the house rules for HSKL, alot of the rules are taken from other hackerspaces around the world (We took what we thought were applicable to us and compiled them into one document). Now we would now like your feedback. You can find a link to the document here. Feedback can be sent directly to any of the committee members or posted as a comment on this blog post.
Share this article
HSKL AGM Meeting Minutes
January 18, 2011 by spoonfork · Leave a Comment
Here are the meeting minutes taken during last Sunday’s AGM. 18 people attended the meeting, of which 11 are members and 7 non-members. We also managed to get 5 signups for new memberships. The highlight of the meeting was the election of new committee members:
Last year’s committee:
President – Meling Mudin
Vice President – Earl Marcus Tan
Secretary – Brian Ritchie
Treasurer – Azrin Madin
Committee Members: Niresh Singh, Amin Hamid, Jordan Lou, Leong Seng Chin
Permanent Committe Members: None
New committe members:
President – Mun Kok Ming (Kakeman)
Vice President – Leong Seng Chin (Tinker)
Secretary – Amin Hamid
Treasurer – Niresh Singh
Committee Members: Jordan Lou, Adam Giles, Moo Kok Leong, Tracey Wong
Permanent Committee Members: Earl Marcus Tan, Meling Mudin, Mun Kok Ming
The two main activities for HSKL this year will be getting sponsorships for hardware, and university roadshow.
Share this article
Slides: Security Meetup – UniPwned! – Hacking UniFi for the LOLZ
Hey guys,
The slides for last Tuesday’s presentation is now available here. Also a reminder that this Sunday is our AGM. Hope to see ya guys there!!!
Share this article
Want to present something at HSKL?
January 5, 2011 by spoonfork · Leave a Comment
As a hackerspace, we are not only providing memberships and infrastructures for members to work on their project, but we also provide the space as an avenue to share ideas, knowledge and skills. If you have interesting stuff to present (as long as the topic is acceptable), please fill up this form, and we’ll arrange from there. Allow at least two weeks before the scheduled presentation so that we have ample time to publicize the event. So how does this work?
- Fill up the form
- One of our members will contact you to confirm the date
- We will then start publicizing the talk
So what kind of topics are allowed? There is not restrictions on topics, as long as it does not involve politics, religion and race. Ideally, the any of the following will do:
- Open source
- Programming
- Security
- Web app technologies
- Hardware
- Electronics
- DIY stuff
- HAM radio
- Anything that involves creative use of technology
Who can present? Anyone can present, regardless of whether they are members or not. We also welcome any of the user groups out there such as the Python, Ubuntu, etc groups to present.
When is the best time/day to present? For security topics, the ideal time would be during the monthly security meetup which is scheduled on the first Tuesday of every month. Fridays are reserved for Electronics. You can check our event calendar for the time and date.
We are looking forward for your contribution and exciting topics!
Share this article
Annual General Meeting: Agenda
January 3, 2011 by spoonfork · 2 Comments
What?
This will be our annual general meeting for 2011. The following are the agenda/topic of discussions:
- Election of new committee members
- Review of financial status
- Review of keymaster lists
- Status of registration for society
- Planning of HSKL university roadshow
- Hardware sponsorships
- Plans/activities for 1st quarter 2011
- Other matters
When?
- January 16th, 2011 (
SaturdaySunday). 10am – 1pm
Where?
- HackerspaceKL
Who?
- All members of HSKL
- All committee members of HSKL
- New members, or anyone that are interested to know what HackerspaceKL is all about
Share this article
A space for tech-minded people
January 2, 2011 by spoonfork · Leave a Comment
HackerspaceKL is featured in today’s edition of The Star. Here’s an excerpt of the article:
WALKING past workbenches housing electronics projects and soldering irons, Meling Mudin gestures to a room piled high with cables, wires, spare motor parts, and even an old ceiling fan. “Think of it as a garage,” says the Dell IT security manager. “We provide the tools and space to make whatever you want; you just show up with your ideas.” This sums up the basic philosophy behind HackerspaceKL.
And of course the emphasis on “innovative”:
.. we want to nurture that sense of exploring ideas, regardless of whether they are practical or not. “I think if we’re talking about building an innovative society, that’s the kind of mindset you need to have. Who knows, our projects may lead to some great inventions one day!” he says.
The rest of the article can be read here.
Share this article
Migration From Plone to WordPress
December 30, 2010 by spoonfork · 2 Comments
Migrating from Plone to WordPress is not quite as straightforward as it may seem. In fact, it was quite a PITA. One of the factors for this was that none of us (except for @kagesenshi) have deep technical expertise on the innerworkings of Plone, or Zope. There was one solution, but reading through it, I know it would be a PITA.
So I decided that the best solution would be to parse Plone’s RSS feed and import them to WordPress’ MySQL database. This seems to be the most sensible, effective and headache free solution – provided that your Plone entries (articles, news, etc) combined are not in thousands.
The first thing that you need to do is to aggregate the entire Plone site. The steps to do this is well documented here.
The RSS by default will publish only 15 items. You have to change the RSS’ setting to, well, a very large number if you want to parse all the contents. This can be done by navigating to synPropertiesForm of the Plone site.
So now you will have all the site’s content in RSS. Parsing the RSS is easy. My first attempt was to use ElementTree, a library that I always use whenever dealing with stuff XML-ish. Apparently it didn’t work properly, so I used feedparser instead.
Here’s a snippet of the code that does the job. This code reads a RSS file. feedparser can also retrieve the RSS remotely.
import feedparser
import os
import sys
import MySQLdb as mdb
# get this from the db
# post_author id
# mel => 1
# sniffit => 2
# klks => 3
# apparently unicode is not handled properly eventhough uft8 is aleady set, so edit the RSS file and remove Unicode chars first
if __name__ == '__main__':
file = sys.argv[1]
if not os.path.exists(file):
print "Error: Unable to find file: " + file
sys.exit(1)
dbname = "yourdb"
dbpass = "yourpassword"
dbhost = "localhost"
dbuser = "youruser"
conn = mdb.connect(dbhost, dbuser, dbpass, dbname, charset="utf8")
cursor = conn.cursor()
f = feedparser.parse(file)
l = len(f['entries'])
print "Processing %d entries" % l
for post in f['entries']:
title = post.title
link = post.link
content = post.description
content = content.encode('utf8')
postdate = post.date
slug = link.split("/")[-1]
author = post.author
post_author = ""
if author == 'mel': post_author = "1"
if author == 'sniffit': post_author = "2"
if author == 'klks': post_author = "3"
print "Importing post " + title
q = "INSERT INTO wp_posts (post_date, post_date_gmt, post_content, post_title, post_name, post_author) VALUES (%s,%s,%s,%s,%s,%s)"
cursor.execute(q, (postdate, postdate, content, title, slug, post_author))
conn.commit()
cursor.close()
conn.close()There are a few things that this script doesn’t do, namely tags and categories. This can be coded, or done manually. Also, the RSS’ HTML output as generated by Plone may contain some garbage or wayward HTML tags (which are pretty consistent in around 80% of contents) and this can be cleaned up manually or by code.






