Organisational amnesia

It’s amazing how much of a dependency there is on individuals writing IT systems. Reminds me of that Dilbert strip: A few weeks ago, I was trying to figure out in what happens when there are multiple promotions. (Our client is a retailer.) I mean, if there’s a phone that costs £100 and there are 2 promotions: 10% off on phones and £10 off on phones. Do you apply the 10% off first and pay £80 or the £10 off and pay £81? ...

Short URLs

With all the discussion around URL shorteners, Diggbar, blocking it, and the rev=canonical proposal, I decided to implement a URL shortening service on this blog with the least effort possible. This probably won’t impact you just yet, but when tools become more popular and sophisticated, it would hopefully eliminate the need for tinyurl, bit.ly, etc. Since the blog runs on WordPress, every post has an ID. The short URL for any post will simply be http://www.s-anand.net/the_ID. For example, http://s-anand.net/17 is a link to post on Ubuntu on a Dell Latitude D420. At 21 characters, it’s roughly the same size as most URL shorteners could make it. ...

Automating PowerPoint with Python

Writing a program to draw or change slides is sometimes easier than doing it manually. To change all fonts on a presentation to Arial, for example, you’d write this Visual Basic macro: Sub Arial() For Each Slide In ActivePresentation.Slides For Each Shape In Slide.Shapes Shape.TextFrame.TextRange.Font.Name = "Arial" Next Next End Sub If you didn’t like Visual Basic, though, you could write the same thing in Python: import win32com.client, sys Application = win32com.client.Dispatch("PowerPoint.Application") Application.Visible = True Presentation = Application.Presentations.Open(sys.argv[1]) for Slide in Presentation.Slides: for Shape in Slide.Shapes: Shape.TextFrame.TextRange.Font.Name = "Arial" Presentation.Save() Application.Quit() Save this as arial.py and type “arial.py some.ppt” to convert some.ppt into Arial. ...

Random quotes generator

The Random Quotes Generator is a simple tool that creates quotes by mixing up words on a web page. The results are often funny, but sometimes surprisingly insightful. Yes, this is the equivalent of a million monkeys typing Shakespeare, except that they’re using the works of Shakespeare as a starting point. And it doesn’t have to be Shakespeare. It could be you or your friends. ...

Motion charts in Excel

Creating motion charts in Excel is a simple four-step process. Get the data in a tabular format with the columns [date, item, x, y, size] Make a “today” cell, and create a lookup table for “today” Make a bubble chart with that lookup table Add a scroll bar and a play button linked to the “today” cell For the impatient, here’s a motion chart spreadsheet that you can tailor to your needs. For the patient and the puzzled, here’s a quick introduction to bubble and motion charts. ...

A R Rahman Hindi songs

By popular demand, here are interludes from 15 Hindi songs of A R Rahman. Can you guess which movie they are from? Don't worry about the spelling. Just spell it like it sounds, and the box will turn green. Comments Guru 13 Mar 2009 5:08 am: 8/15, seems to be the lowest so far … Steve 12 Mar 2009 7:26 pm: Got 15/15 :D Ashwin Krish 13 Mar 2009 2:06 am: got 14/15 stumped by 9. I do not listen to remake songs (as matter of principle)… so if this is a tamil song remade in hindi with different mix, I wold not know Swapnil 12 Mar 2009 12:08 pm: Gr8 quiz…got it all right!Bingo!~ Lavanya 12 Mar 2009 10:18 am: can any one tell me no.9….i COMPLETELY forgot the answer!! gowrishankar 12 Mar 2009 3:42 am: bang 15/15 expecting few more… Jay 11 Mar 2009 10:50 pm: aaarrggh…. 9 is driving me nuts… and 12 is stumping me big time…. the rest i guessed it less than 3 seconds flat… Aravind 12 Mar 2009 2:26 am: good quiz!! :D got 15/15… struggled a lot on 12, though!! Rivjot 12 Mar 2009 8:31 am: 15/15 Yayy!!! I love myself :D Jayram 13 Mar 2009 10:19 pm: Stuck in three songs 9,10 and 12. Overall score 12/15.. Good selection… Srinath 12 Mar 2009 1:13 pm: 15/15.. yay!! :) the answer for 9th is saathiya. mera yaar mila de song :) Rams 13 Mar 2009 5:31 pm: Yay… got all 15! good one dude! subbu 13 Mar 2009 3:40 pm: YEAHHHHHHHHH!!!!!! 15/15 was stuck at 12 but made about 5 guesses to get it right. so , strictly speaking I don;t deserve that one point cuz I dont even know the song. Fameeb 13 Mar 2009 7:22 pm: Ho!!! WoW! What a feeling !! Got 15/15 !! No.12 was a real tough one. It was troubling that am not getting this song. Obviously one of those albums which we heard a lot in Tamil but not in Hindi. Original is always original.Rest of them were all cool. Great Job by Anand. Really enjoyed this one ! Real Good work buddy. Long Live ARR !! bujji 13 Mar 2009 1:16 pm: hey can anyone tell me 11….except tht i got evrythng Ananth 13 Mar 2009 12:06 pm: 12/12… happy… 9 & 12 were thougheee… @Ashwin - nice principle… but this song is not there in tamil though the movie is there :) Vijai Ananth 14 Mar 2009 3:21 am: Way to go…Got all right too…..RAHMANIA MALAYSIA Dheepak Narsimhan 14 Mar 2009 4:41 am: Good quiz… Really gud job n its challenging.Got 15/15. yahooooooo…. Aditya Pai 14 Mar 2009 8:04 am: Yes…. scored 15/15. Good quiz. Chandra 14 Mar 2009 6:14 pm: I dont know answers for the 9th, 10th, and the 12th songs. I know the 10th by-heart but am not able to get it… its stuck at the “tip of the tongue” as they say..! Niranjan 18 Mar 2009 9:54 am: Am puzzled by 12……:-( not getting in any way… rekha 28 Mar 2009 5:23 pm: got stuck on 1o and 12th…….please post answers smriti 7 Apr 2009 12:14 pm: 14/15…..someone please helpme on 12…arrr!!! its eating me up! pls post the answer. arun 15 Apr 2009 8:05 am: 15/15…yipee..feels great rachna 27 Apr 2009 5:35 pm: got 14/15 Nihal 1 May 2009 7:22 am: wa super! fantastic and elastic and plastic Shrikant, Aditi &Meera 15 May 2009 10:57 am: Struggled quite a bit on 9. All three of us. Separately. ;) I guess it falls into the li’l old-songs category now.. And to think, we work for a Bollywood Radio Station!!:D Cheers! Shrikant sridharan 28 May 2009 9:45 am: 12song was very nice and arrahman was the maestro.jai ho Viju 23 Jun 2009 4:25 am: Awesome one.. I still don’t get the 12 though! :( Renuka 7 Jul 2009 11:56 am: 9/15. Bad! Awesome quizzes :-) Anup 4 Nov 2009 11:09 pm: Hurray, I made it. 15 on 15 mate :) Mohan 29 Nov 2009 5:54 pm: 13/15. unable to figure out 7 & :0( Naveen 5 Mar 2010 9:14 am: Finally !!! 11 took me time !!! finally 15/15!!ufff! tulsi priya 5 Dec 2011 4:17 pm: 12/15.. i really cant guess 3, 11 and 12 chethana jadhav 22 Nov 2011 5:57 am: 12/15… !!! took time to guess 10 th.. :( Akila 12 Dec 2012 10:10 am: 14/15…. couldn’t get 9 right.

WordPress themes on Live Writer

One of the reasons I moved to WordPress was the ability to write posts offline, for which I use Windows Live Writer most of the time. The beauty of this is that I can preview the post exactly as it will appear on my site. Nothing else that I know is as WYSIWYG, and it’s very useful to be able to type knowing exactly where each word will be. The only hitch is: if you write your own WordPress theme, Live Writer probably won’t be able to detect your theme — unless you’re an expert theme writer. ...

Hiccups

This morning, I was watching an episode of Finley the Fire Engine in which one of the trucks had hiccups. Reminded me of this Calvin & Hobbes — especially Hobbes’ remark in the second strip. ...

Client side scraping for contacts

By curious coincidence, just a day after my post on client side scraping, I had a chance to demo this to a client. They were making a contacts database. Now, there are two big problems with managing contacts. Getting complete information Keeping it up to date Now, people happy to fill out information about themselves in great detail. If you look at the public profiles on LinkedIn, you’ll find enough and more details about most people. ...

Client side scraping

“Scraping” is extracting content from a website. It’s often used to build something on top of the existing content. For example, I’ve built a site that tracks movies on the IMDb 250 by scraping content. There are libraries that simplify scraping in most languages: Perl: WWW::Mechanize Python: BeautifulSoup Ruby: HPricot PHP: XPath (built-in) Javascript: jQuery on env.js on Rhino But all of these are on the server side. That is, the program scrapes from your machine. Can you write a web page where the viewer’s machine does the scraping? ...

No copyright

I don’t have any copyright declaration on this website. The problem with that is: content is copyrighted by default. As Jeff Atwood indicates, this means that people with experience in such matters won’t copy the content because they have no legal right to use it. Let me clarify: I don’t care what you do with my content. Feel free. You don’t have to ask. You don’t have to attribute it to me. You can change it. You can misquote me. Whatever. ...

A R Rahman songs

A tribute to our Academy Award winner, A R Rahman. Here are interludes from 25 Tamil songs of A R Rahman. Can you guess which movie they are from? Don't worry about the spelling. Just spell it like it sounds, and the box will turn green. Comments Steve 12 Mar 2009 7:07 pm: Got 25/25!!! Thanks Anand, enjoyed it very much!!! Vijay Anand 12 Mar 2009 3:11 pm: I got 24/25. not able to recollect the movie name of July Matham song Only May madham came to my mind anantha 2 Mar 2009 6:40 pm: Got 22 without struggling. The last three (5, 17, 25) gave me trouble. Got 5 after some humming along and for 17, somehow was stuck on a dubbed version of a hindi soundtrack till I got it. 25 was purely round robin :) Sriram 2 Mar 2009 7:09 pm: Hi anand, I am one of the big fan of ur site. I scored 21/25. please send me the answers. srini 2 Mar 2009 10:37 am: Hi thanks again for a good one. I scored more in Raja test than this one.. so you know my age group. Please send me the answers. Can’t bang myself anymore… thanks S Anand 2 Mar 2009 3:34 pm: Have sent the answers by e-mail. Akbar 2 Mar 2009 6:23 pm: I scored 20. Really nice one …. thanks. yeshwanth 10 Mar 2009 4:50 pm: I got 25/25…was struggling for 17..but got it in the end….based on your clue that its a rajini film Nivi 2 Mar 2009 9:11 pm: 23/25!! and i pride myself that of the things i got, i got everything within the first 5 seconds :) Hari 6 Mar 2009 4:42 pm: Awesome compilation. I didn’t get 4, 16, 17, 19 and 21. I was kicked when I got 25 :) subbu 11 Mar 2009 1:41 pm: 23/25 - got 23 and 24 woooo hooooooo Barath 7 Mar 2009 7:33 pm: Give me clues for 6 and 25 Arun Ganesh 10 Mar 2009 6:02 pm: 25/25 …. had to refer no clues thankfully… this is good stuff.. keep posting more. thank you Arjun 7 Mar 2009 8:30 pm: Hey, Great man. Thanks for the quiz. We had a lot of fun doing it. By the way, the score is 23! :) What are 17 and 25? I’m totally stumped (but, most probably, I’ve never heard these pieces). S Anand 7 Mar 2009 8:38 pm: Clues: 6 is a Vineeth film 17 is a Rajni film 25 is a Prabhu film Dinesh 11 Mar 2009 2:00 pm: i got a 25/25….. hardcore ARRfan…. thank u thanku…. :) Priya 11 Mar 2009 12:57 pm: I scored 24….But i couldn;t guess which one is the 17th….. subbu 11 Mar 2009 1:34 pm: 21/25 - didn’t get 16, 23,24,25 :) Ganesh.V 10 Mar 2009 6:15 pm: HA ha i got 25\25…….pretty much easy……even 25 and 17 Nice compilation…… Vivek 10 Mar 2009 6:45 pm: 25/25, in one go! I’m proud to be a hardcore ARR fan Rajith Ramnivas 10 Mar 2009 6:51 pm: 25/25 i can answer whatever related to rahman sir. chetan 10 Mar 2009 10:24 pm: 24/25 !! damn missed the #13 ……….. Guys pls help me out … Which Movie is it?? @S Anand- Superb Man quiz is. thanks for it….. sanjay shankar 10 Mar 2009 8:25 pm: 25/25 !!! Like Yeshwanth, # 17 took about a min, but got the others within seconds. Thanks for the nice quiz! AMEER SALEHA 11 Mar 2009 8:04 am: it was quite interesting and as well as it made me to find out some songs of arr which i didnt hear Vinodh 11 Mar 2009 9:20 am: I got 24/25… I couldnt get the 25th song… someone pls help… :( amjath 11 Mar 2009 3:00 am: Score: 25 / 25 i got i done it i made it very very gud choice of songs Ashwin Krish 11 Mar 2009 3:05 am: 25/25! 5 was the toughest for me! Interludes are pretty easy… what is challenging is a BGM quiz. You should post that Krishna 11 Mar 2009 4:00 am: scored 100%. Great quiz Mehrun Shiraz 11 Mar 2009 11:19 am: its damn good..scored 24..but dont know number 17..pls send me the answer. rama krishna 10 Mar 2009 4:36 pm: hi, i score 21/25 musicar 10 Mar 2009 4:43 pm: I GOT 25/25!!! It was an easy test!!! Just the 25th one took a couple of extra seconds! Enjoyed it!!!Thanks for creating it Prakash 10 Mar 2009 4:28 pm: Bingo. I got 25. Needless to say I am a Rahmaniac! :) Anil 10 Mar 2009 4:31 pm: Wow ….got 24 on 25 ….all except 25 (but the clues in your comments) got that one as well .. Good one this. My ARR quotient is pretty high :-) -A Siva 11 Mar 2009 2:07 pm: Got 22/25. Couldn’t find 5, 17, 25. Then found 17 and 25 using the clues. And finally, 5 after many guesses. :( viji 11 Mar 2009 2:25 pm: hey hi.. gr8 work.. superb.. :) gt al 25 rite.. :) keep posting more :) Appu 11 Mar 2009 2:49 pm: woow,16 was tough.i got no.6 listening to the rhythm pattern. did it anyway. 25/25 all the way. Jai ho!!! Appu Anu 11 Mar 2009 3:27 pm: I got 25/25, was thinking hard for 17 but then your clue on Rajni movie helped….very interesting and easy quiz!!!! sriraman vk 11 Mar 2009 3:44 pm: i got 24/25. what is the answer for song 14? Sriram 11 Mar 2009 4:20 pm: Awesome! Can you do the same for AR’s Hindi and also the BGM?! Please man! santhosh 11 Mar 2009 5:36 pm: Hi, really a nice quiz….. Got 25/25 Keep posting :) Madhavan R 11 Mar 2009 6:16 pm: Cool! Got 25 out of 25 in the first go!!! 17 was tricky but after repeated listens for some 5 or 6 times, I found it…Great stuff; thoroughly enjoyed! suriya 12 Mar 2009 11:47 am: super songs anand! 5,13,19,24 known BGM.. any clues? Karthik 12 Mar 2009 7:04 am: Got all right :) Asuthosh 12 Mar 2009 7:08 am: 25/25 - some old Tamil ones were tricky. The trick is to continue the interlude forward in your mind and it will segue into the pallavi/charanam. Great stuff, thanks! Rivjot 12 Mar 2009 8:20 am: Please make such quiz for Hindi interludes of Rahman as well. Enjoyed taking this one :) Amit 11 Mar 2009 8:41 pm: Got 22. (After a lot of hair pulling!). Being a non-tamilian rahmaniac, I am happy. Please send me the answers. (#5, 14 &16) I cannot take these tunes out of my head now… Prashanth Dappula 12 Mar 2009 2:54 am: Coooooooool, thanks for the quiz. 25/25, had a bit trouble for few seconds recognizing 25th :-), but got it. Thank you once again. gowrishankar 11 Mar 2009 11:39 pm: got 25/25, nice work S.Vijai Ananth 12 Mar 2009 12:29 am: Rahmaniac from Malaysian ARR fan club(Rahmania)…..25 definitely……all these interludes sat in the subconscious for too long already…… Rams 13 Mar 2009 5:37 pm: Yippeee…. 25/25 again… for a rahmaniac, it feels good to get them all…. Siddharth 14 Mar 2009 5:53 am: awesome..i’ve got 25/25..thanks anand…great compilation man… Chandra 14 Mar 2009 5:48 pm: Hi… I too got 25/25. The last one was tough (had to listen to it 4 times), the 13th one was a bit tricky, and I was slightly lucky with the 16th (but caught it even as I was typing it)! Great compilation!! Thanks a lot! ANANDA CHETANA 15 Mar 2009 5:56 am: I am submitting my answers and I would like to know my score. Please put this in a file that can be downloaded by us and used for quizzing over here. It is a fantastic compilation. Jai Ho gopal sambasivam 15 Mar 2009 11:32 am: good collections,anand. Niranjan 18 Mar 2009 10:10 am: Hurray!!!! 25/25 awesome It took some time for song 24 and 25!!! but i got it atlast…… Rajeev 18 Mar 2009 11:29 pm: Hey Anand, Nice work. Even though getting a full score is easy, it makes you feel good to feel proud about the fact that u can identify any song of ARR in a jiffy….. Muhthar 24 Mar 2009 7:57 pm: Great compilation. and great selection of songs. rajkumar 4 Apr 2009 5:32 pm: amazing . which song is last one Akshaiy 9 Apr 2009 11:42 am: Can you email the answers? arun 15 Apr 2009 7:35 am: good one…feels proud Muruganandham k 11 May 2009 6:39 am: Me too got 25/25 though 25th is trial & error priya 15 May 2009 10:07 am: ejoyed alot Arun 28 May 2009 1:16 pm: Good work dude Venkata 6 Apr 2009 10:01 pm: Good work. I got an inspiration from this blog and planning to have a game for one of my daughter’s birthday party. Keep up the good work. Can you suggest any tools to cut the interludes from the songs ?Thanks Chinna 31 Aug 2010 5:16 am: nice compositions of our maestro…… got 25/25 hurray…….. :) nirmala 26 Dec 2010 1:22 pm: got all correct:) MICHAEL JACKSON 27 Dec 2010 7:24 am: SCORED JUST 20….:-( ………………….. chirp 1 Jan 2011 1:02 am: Good ones ravindra babu hyderabad 18 Dec 2010 1:35 pm: konchamkastam telugu ayitei nice pa Sudhakar Dhanapal 19 Jan 2011 11:09 am: wowww. got 25/25 ramya 12 Dec 2011 6:57 am: plz mail the answers… i got oly 19 :( priya 31 Dec 2011 12:59 pm: only 23/25 :( … answers for 17th and 25th pls… A R Rahman Songs | Durgeshgowtham's Blog 28 Mar 2011 11:13 am (pingback): […] http://www.s-anand.net/blog/a-r-rahman-songs/ This entry was posted in Cinema. Bookmark the permalink. ← mobile hacking LikeBe the first to like this post. […] janu 16 Jun 2012 1:39 am: Managed to get 25/25! I should coz I’m a crazy ARR fan. Had a tough time on 17 coz honestly I haven’t heard it before. Your clue “Rajini” helped doing the gueswork :-) Ranjani 7 Aug 2011 12:55 pm: Scored 16/25 Suganya 29 May 2012 9:11 am: Hurrayyyyyyyyy… 25 found.. ramya saranya 1 Sep 2012 11:31 am: 16th kizhakku cheemaiyile ,17th baba and 25th is uzhavan…. i got 25/25 :):):) Sai Lakshmi 18 Sep 2012 6:22 am: makes me feel on top of the world to get a 25 on 25… LOVE YOU ARR <3 <3 <3 <3 YOU ARE MY GOD FOREVER <3 GOD OF MUSIC :* Akila 12 Dec 2012 10:35 am: I couldn’t nail down 3 and 4 though they sound very familiar…. answer pls? hbqdb 27 Apr 2013 6:52 am: Hoooooooooooooo!!!! 25/25 awesome

twofifty.org

It’s been a good movie month for me, and I’ve managed to nudge closer to my target of watching the IMDb Top 250. But one tool I had in the past, that I sorely miss, is twofifty.org. It’s a now-defunct site that kept track of the IMDb Top 250, and let you strike off the movies that you had watched. You could see which movies you hadn’t seen, keep score, and discuss the movies. Since it’s demise, my movie watching slowed down as well. Earlier this month, I set up a similar site at 250.s-anand.net. It has the same basic function. You can log in, strike out movies that you’ve seen, and keep track of what’s left to see. For the more technically minded, the source-code is at two-fifty.googlecode.com. ...

Infyblogs dashboard

I just finished Stephen Few’s book on Information Dashboard Design. It talks about what’s wrong with the dashboards most Business Intelligence vendors (Business Objects, Oracle, Informatica, Cognos, Hyperion, etc.), and brings Tuftian principles of chart design to dashboards. So I took a shot at designing a dashboard based on those principles, and made this dashboard for InfyBLOGS. You can try for yourself. Go to http://www.s-anand.net/reco/ Note: This only works within the Infosys intranet. Right click on the “Infyblog Dashboard” link and click “Add to Favourites…” (Non-IE users – drag and drop it to your links bar) If you get a security alert, say “Yes” to continue Return to InfyBLOGS, make sure you’re logged in (that’s important) and click on the “Infyblog Dashboard” bookmark You’ll see a dashboard for your account, with comments and statistics The rest of this article discusses design principles and the technology behind the implementation. (It’s long. Skim by reading just the bold headlines.) ...

To Python from Perl

I’ve recently switched to Python, after having programmed in Perl for many years. I’m sacrificing all my knowledge of the libraries and language quirks of Perl. The reason I moved despite that is for a somewhat trivial reason, actually. It’s because Python doesn’t require a closing brace. Consider this Javascript (or very nearly C or Java) code: var s=0; for (var i=0; i<10; i++) { for (var j=0; j<10; j++) { s = s + i * j } } That’s 6 lines, with two lines just containing the closing brace. Or consider Perl. ...

Ubuntu 8.10 on a Dell Latitude D420

Here’s the fastest way I’ve found to install Ubuntu on a USB flash drive, for my Dell Latitude D420. (Pendrivelinux.com is a great resource for this sort of thing.) Ingredients One large USB flash drive like this one. Not less than 4GB. I’d suggest 8GB or more One CD (not a DVD) Ubuntu 8.10 desktop CD ISO IMGBurn or any other CD burning software Direct Internet via LAN cable (without proxy, without wireless) Installation ...

On teaching

This vacation, I took a session each for class XI and XII at my school, Vidya Mandir. The subject was Computer Science (the only one I can teach with some confidence), and the topic was networks. It was an experiment, in two parts. The first was to understand how students of this generation interact with the Internet. (I'm twice as old as them, so I guess they qualify as the next generation.) The second was to see whether I'd leave them far behind, or they'd leave me far behind. ...

The hunt for a Twitter client

I hadn’t jumped on to the Twitter bandwagon for a while. I’m not much of a conversationalist, nor am I a very sociable. I also tend to stay away from social networks. But I figured I would try Twitter out for a while, mostly because it’s an outlet for short comments. For long articles, I have my blog. For sharing links, I have Google Reader and del.icio.us. I don’t quite have anything for that occasional moment when I want to say, “Hey! A great way to shred mint leaves is to freeze them!” ...

Bound methods in Javascript

The popular way to create a class in Javascript is to define a function and add methods to its prototype. For example, let’s create a class Node that has a method hide(). var Node = function(id) { this.element = document.getElementById(id); }; Node.prototype.hide = function() { this.style.display = "none"; }; If you had a header, say Heading, then this piece of code will hide the element. var node = new Node("header"); node.hide(); If I wanted to hide the element a second later, I am tempted to use: var node = new Node("header"); setTimeout(node.hide, 1000); … except that it won’t work. setTimeout has no idea that the function node.hide has anything to do with the object node. It just runs the function. When node.hide() is called by setTimeout, the this object isn’t set to node, it’s set to window. node.hide() ends up trying to hide window, not node. ...

Canary Wharf time lapse video

I left my camera near the window of my office at Canary Wharf in time lapse mode on a cloudy day. The video is playing at 60 times normal speed. Check out the related time lapse videos. They're stunning. With this one, you can figure out which firms work till late in the night. Comments Sumit Dhar 27 Nov 2008 6:27 am: Hey Anand, Did you require some additional equipment to take snaps at particular intervals? Cheers, D. S Anand 27 Nov 2008 6:58 am: Nope – my Canon IXUS 70 has a time-lapse mode. I just placed the camera on the floor and let it do it’s job for an hour :-) Balaji 10 Feb 2009 7:53 pm: Really nice Anand… Fantastic to know that this can be done by a normal user too…