Since I’ve parted from Tokobagus I’m involved in several lower profile startups in Indonesia, I just love pioneering, build stuff and help out like minded peers. In general, I like to get involved really early stage because I think that’s where I can contribute a lot and it’s the phase I enjoy most. One rule though, the startups I like to get involved in have to have great ambitions and their model needs to be scalable, in the end I like building big things.
Scalable not only means that the product should be scalable, but also the organisation and infrastructure, and that’s mostly where I come in. In my past I had some experience with scaling an e-commerce platform to become one of the largest sites in Indonesia and I definitely remember the head aches and stress that gave us. So I like to spend time thinking about and working on solutions that are scalable from the start, which is for a part in the code and for a part in the architecture. Often this means serious investing in hardware and knowledge from the start, but startups are startups and often have little means, no money, short on staff and a hell of a lot of work to do.
Since I bought a 255GB flash drive, I kind of switched from using external hard drives to flash drives. The reasons are obvious, using a flash drive is just easier and more comfortable.
But I’m a sloppy person and tend to leave my flash drives lying around just about everywhere, making it easy for others to take it or have a peak. In my windows days I bought a special app to secure my flash drives but since I switched to Mac I didn’t encrypt my drives anymore. Anyway, today I decided to secure my flash drives so here’s how you do that on OSX without any 3rd party app.
Time for another short, sweet and time saving geek post, this time on how to install FFMPEG on a web server. Now, there’s many scripts out there like the one below but most are outdated and not working anymore. Basically all I did was step-by-step debugging an existing script and changing it until it produced the desired result. In case the script below to install FFMPEG doesn’t work anymore, just check if any versions changed, if the code moved to github and change the script accordingly or just drop a comment.
Newsflash! I’m not a journalist. This blog is not a newspaper. Really. I’m actually an entrepreneur doing some small investments here and there in Indonesia. Weird thing though. Apparently this blog was the first bringing the news that online retail in Indonesia is now closed for foreign investments. Weird because again, I’m not a journalist. Weird because this is actually not “news”, unless you consider changes to the interpretation of the law that came effective on june 28th 2013 is still regarded news more than 1.5 months later.
So what happened next? Well, Dailysocial contacted me asking for some “proof”. Well, I have the “proof” in the form of an official letter of intent from the BKPM but so far my legal adviser requested me not to publish this document as it was sent to him directly and not me. Now, even though I think this letter is an official and public document, I consider myself a smart person by never upsetting lawyers, period.
What happened next was Dailysocial writing a post with the title “Indonesia’s Ministry of Trade MAY Have Banned Foreign Investment for E-Commerce Companies“. “MAY have…”. What the hell do you mean with “MAY have..” ? Is any artcile with “MAY have” in the title even news? Followed by comments like “…but if what Lupker said is true…”. This was then soon reblogged or posted on sites like Yahoo and some tech blogs like SGE, because DS is “the authority”.
Yesterday I wrote a post on how to simply avoid WordPress “password reset hacks“, because that’s exactly what happened to this blog yesterday and already some more times before. I actually thought and hoped that would be the end of the hacking attempts but I couldn’t be more wrong.
When due to a severe jetlag I came out of bed around 3:30 AM this morning I noticed an email from my hosting provider that the website was deactivated due to a DDOS attack. Like WTF?? You just won’t give up, do you? I mean even if he would have succeeded and defaced the site then probably 150 visitors would actually notice it. And to be honest, I wouldn’t care less. For me this is not a business but just a blog where I write when I feel like it.
I left some space here where the experts can chuckle, LOL, ROFL and whatever else they think is appropriate. To those cynics I say good luck with you’re home made platform. WordPress is so much more than a blog platform, it’s the perfect framework for almost every project. It’s known for it’s near perfect and solid database design, it’s equipped with a great admin interface, offers great caching plugins and many more. I at first thought I had to migrate to another platform but along the way I found out that at least for me the possibilities are unlimited. And scalability? Well, read this post and make up your mind again. Continue Reading →
Another day lost on something that seemed so simple to implement. After having installed Tomcat 7 and Solr 4 I wanted to limit access to the interface based on IP. This was actually the reason I chose Tomcat over Jetty because with Jetty there’s no straight forward dummy proof way to do this. Don’t let the firewall image fool you, this is just an IP filter and can be circumvented by means of IP spoofing. However for me it’s enough for now, once it goes in production all access will be blocked completely.
Somehow most documentation of platforms like Tomcat are clear if you get the whole picture but if you’re a first-timer it’s a pain in the ass because of the lack of simple/working examples. S what seemed straightforward cost me another 6 hours and by posting I hope to spare you the time.
So my website is hosted with Webfaction, a great hosting company but due to the fact that it’s still shared hosting it comes with some challenges.
For one of my startups-still-in-stealth-mode I’m working on a professional and scalable solution for search suggestions. Considering the current low number of daily visits I first thought I could easily get away with one of the many tutorials on search suggestions with mysql. However, the complexity would force me to use JOINS in combination with UNION JOINS which will result in the end in a crappy performance. Also, I shoot for the stars so anything I build needs to be super scalable.
So I chose for a setup with a text-based search engine. Now these days there are many text-based search engines out there but since I have some experience with Lucene based Solr and since Solr is just a bit more suited for dummies I chose Solr. Another popular alternative is Elastic Search but I seriously doubt that my website or yours would come to a point where you can’t do it with Solr. The Lucene engined is suitable for and extreme high number of concurrent requests, is super stable and serves many high-traffic websites out there.
So, this will be the first time I actually install Solr on a Webfaction server and for the view out there struggling with the same I share the complete process step-by-step.
In order for Solr to run it needs a Servlet container like Tomcat and Jetty. Solr actually comes with Jetty build in but for several reasons (security, doing-difficult-just-for-the-heck-of-it and others) I’ve decided to go with Tomcat 7.
OMG, this was a total nightmare and cost me >2 days to get it done so kudo’s and other forms of appreciation are very welcome!