Monthly Archives: November 2018

Yahoo! Acquisition AdMovate, Develop Mobile Advertising Service

Yahoo! Acquisition AdMovate, Develop Mobile Advertising Service

Internet giant head of Marissa Mayer, Yahoo!, recently rumored to re-acquire a startup working in the areas of mobile advertising, AdMovate. The umpteenth time that the acquisition by Yahoo! Yahoo! is regarded as an effort to improve service advertisements that are considered “lackluster” lately.

Yahoo! via his blog on Tumblr, has officially announced the purchase AdMovate engaged in the mobile advertising services. AdMovate parties themselves have confirmed this issue by stating that they were aimed at helping advertisers to reach consumers at the right time and place via private message certainly be provide by AdMovate.

Quoted from a news release The Next Web today (18/7), Yahoo! states that carried AdMovate personalization technology can improve the ability of Yahoo! in advertising through the mobile platform. In addition, after the acquisition of all employees AdMovate instantly brought to the Yahoo! offices are located in Silicon Valley, USA.

Marissa Mayer as CEO of Yahoo!, concerning this acquisition had expressed interest in re-focusing the Yahoo! mobile services that could be left behind. According to him, the future of Yahoo! ‘s business models will be on the mobile segment in which this segment continues to experience a significant increase, “Yahoo’s future is on the phone. So we put the products for mobile phones, “he said.

In a blog post on tumblr, Scott Burke who is SVP of Display Advertising and Advertising Technology Yahoo! said Yahoo! is now trying to focus on investments in the mobile segment, “Yahoo is currently investing more in the purchase program and advertising on mobile phones,” she called.

Description Scott was indeed not a hoax. Yahoo! is just a period of four months was reported to have acquired 10 startup that Summly, Astrid, Milewise, Loki Studios, Go Poll Go, PlayerScale, Rondee, Ghostbird Software, Tumblr, and most recently Qwiki, and it is almost entirely a startup working in the mobile field. With the acquisition AdMovate which is a provider of mobile advertising services, then shopping “wholesale” a la Yahoo! The Yahoo! could be an attempt to break through the mobile industry is growing rapidly these days.

5 Coding Hacks to Reduce GC Overhead

5 Coding Hacks to Reduce GC Overhead

In this post we’ll look at five ways in roomates efficient coding we can use to help our garbage collector CPU spend less time allocating and freeing memory, and reduce GC overhead. Often Long GCs can lead to our code being stopped while memory is reclaimed (AKA “stop the world”). Duke_GCPost

Some background

The GC is built to handle large amounts of allocations of short-lived objects (think of something like rendering a web page, where most of the objects allocated Become obsolete once the page is served).

The GC does this using what’s called a “young generation” – a heap segment where new objects are allocated. Each object has an “age” (placed in the object’s header bits) defines how many roomates collections it has “survived” without being reclaimed. Once a certain age is reached, the object is copied into another section in the heap called a “survivor” or “old” generation.

The process, while efficient, still comes at a cost. Being Able to reduce the number of temporary allocations can really help us increase of throughput, especially in high-scale applications.

Below are five ways everyday we can write code that is more memory efficient, without having to spend a lot of time on it, or reducing code readability.

1. Avoid implicit Strings

Strings are an integral part of almost every structure of data we manage. Being much heavier than other primitive values, they have a much stronger impact on memory usage.

One of the most important things to note is that Strings are immutable. They can not be modified after allocation. Operators such as “+” for concatenation actually allocate a new String containing the contents of the strings being joined. What’s worse, is there’s an implicit StringBuilder object that is allocated to actually do the work of combining them.

For example –

1
a = a + b; / / a and b are Strings
The compiler generates code comparable behind the scenes:

1
StringBuilder temp = new StringBuilder (a).
2
temp.append (b);
3
a = temp.toString () / / a new string is allocated here.
4
/ / The previous “a” is now garbage.
But it gets worse.

Let’s look at this example –

1
String result = foo () + arg;
2
result + = boo ();
3
System.out.println (“result =” + result);
In this example we have 3 StringBuilders allocated in the background – one for each plus operation, and two additional Strings – one to hold the result of the second assignment and another to hold the string passed into the print method. That’s 5 additional objects in what would otherwise Appear to be a pretty trivial statement.

Think about what happens in real-world scenarios such as generating code a web page, working with XML or reading text from a file. Within a nested loop structures, you could be looking at Hundreds or Thousands of objects that are implicitly allocated. While the VM has Mechanisms to deal with this, it comes at a cost – one paid by your users.

The solution: One way of reducing this is being proactive with StringBuilder allocations. The example below Achieves the same result as the code above while allocating only one StringBuilder and one string to hold the final result, instead of the original five objects.

1
StringBuilder value = new StringBuilder (“result =”);
2
value.append (foo ()). append (arg). append (boo ());
3
System.out.println (value);
By being mindful of the way Strings are implicitly allocated and StringBuilders you can materially reduce the amount of short-term allocations in high-scale code locations.

2. List Plan capacities

Dynamic collections such as ArrayLists are among the most basic dynamic structures to hold the data length. ArrayLists and other collections such as HashMaps and implemented a Treemaps are using the underlying Object [] arrays. Like Strings (Themselves wrappers over char [] arrays), arrays are also immutable. Becomes The obvious question then – how can we add / put items in their collections if the underlying array’s size is immutable? The answer is obvious as well – by allocating more arrays.

Let’s look at this example –

1
List <Item> <Item> items = new ArrayList ();
2

3
for (int i = 0; i <len; i + +)
4
{
5
Item item = readNextItem ();
6
items.add (item);
7
}
The value of len Determines the ultimate length of items once the loop finishes. This value, however, is unknown to the constructor of the ArrayList roomates allocates a new Object array with a default size. Whenever the internal capacity of the array is exceeded, it’s replaced with a new array of sufficient length, making the previous array of garbage.

If you’re executing the loop Welcome to Thunderbird times you may be forcing a new array to be allocated and a previous one to be collected multiple times. For code running in a high-scale environment, these allocations and deallocations are all deducted from your machine’s CPU cycles.
%0

Attend Meeting C++ 2013

Attend Meeting C++ 2013

Boost Dependency Analyzer

I have something special to announce today. A tool I’ve build over the last 2 weeks, which allows to analyze the dependencies in boost. With boost 1.53 this spring, I had the idea to build this, but not the time, as I was busy writing a series over the Papers for Bristol. Back then I realized, how easy it could be to build such a tool, as the dependencies could be read & listed by boosts bcp tool. I already had a prototype for the graphpart from 2010. But lets have a look at the tool:

The tool is very easy to handle, it is based on the out of bcp, which is a tool coming with boost. Actually bcp can help you with ripping libraries out of boost, so that you don’t have to add all of boost to your repository when you would like to use smartpointers. But bcp also has a listing mode, where it only shows the dependencies thats whats my tool build up upon. Lets have a short look at the results, the dependencies of boost 1.54:

A few words on how to read this graph. The libraries in the middle of the “starshape” are the ones with the most dependencies, each line between the nodes is a dependency. A dependency can be one or multiple files. The graphlayout is not weighted.

How to

A short introduction on what you need to get this tool to run. First boost, as this tool is build to analyze boost. I’ve tested with some versions (1.49 – 1.54) of boost. You also need a version of bcp, which is quite easy to build (b2 tools/bcp). Then you simply need to start the tool, if BOOST_ROOT is set, the tool will try to read it, other wise you will be asked to choose the location of boost when clicking on Read dependencies. Next thing is selecting the location of bcp. That is the setup, and the tool will now run for some time. On my machine its 90 seconds to 2 minutes the analysis takes, it might be lot longer on yours, depending on how much cores you got. The tool will spawn for each boost library (~112) a bcp process, and analyze this output in a thread pool. After this is done, the data is loaded into the tool, and then saved to a SQLITE database, which will be used if you start the tool a second time and select this version of boost. Loading from the database is far faster.

A screenshot to illustrate this:

tl_files/blog/bda/bda.png

To the left are all the boost libraries, the number of dependencies is shown in the braces. To the right is a Tabwidget showing all the dependencies, the graph is layouted with boost graph. When you click on show all you’ll get the full view of all dependencies in boost. The layouting is done in the background, so this will take some time to calculate, and is animated when its done. The results of the layouting are good, but not perfect, so that you might have to move some nodes. Exporting supports images, which are transparent PNGs, not all services/tools are happy with that (f.e. facebook, twitter nor G+ could handle the perfectly fine images), this can be fixed by postprocessing the images and adding a white background.

Inner workings

I’ve already written a little about the tools inside, its build with Qt5.1 and boost. Where boost is mostly used for the graph layouting. As I choose to work with Qt5, it has a few more dependencies, for windows this sums up to a 18 mb download, which you’ll find at the end. The tool depends on 3 libraries from my company Code Node: ProcessingSink, a small wrapper around QProcess, that allows to just start a bunch of processes, and lets you connect to the finished and error slot. This was necessary, as I could only spawn 62 parallel processes under windows, so this library does take care of spawning the parallel processes now. Which are currently 50 at a time. GraphLayout is the code that wraps the innerworkings of boost::graph, its a bit dirty, but lets me easily process the graphlayouting. The 3rd library is NodeGraph, which is the Graph UI, based on Qts GraphicsView Framework.
I plan to release the tool and its libraries under GPL later on github, for now I don’t have the time to polish everything.

Problems

One of the earliest questions I had when thinking about building such a tool, was where to get a list of the boost libraries? This sounds easy. But I need to have this readable by machine, not human, so HTML is a great format, but I refused to write a parser for this list yet. I talked to some people about this at C++Now, and most agreed, that the second option would be best: maintainers.txt. Thats what the tool reads currently to find the boost libraries. Unfortunately at least lexical_cast is missing in this list. So, the tool isn’t perfect yet, while lexical_cast is already patched, I’m not sure if anything else is missing. A candidate could be signals, as its not maintained anymore. Currently the tool analyzes for 1.54 112 libraries.

boost dependencies

Working for 2 weeks on this tool has given me some inside knowledge about the dependencies in boost. First, the way it is shown in the tool, is the view of bcp. Some dependencies will not affect the user, as they are internal. f.e. a lot of libraries have a dependency to boost::test, simply because they provide their tests with it. The bcp tool really gets you ALL the dependencies. Also most (or was it all?) libraries depend on boost::config. I plan to add filtering later, so that the user has the ability to filter some of the libraries in the GraphView.

The tool

Here is how to get the tool for now: there is a download for the binaries for windows and linux. I’ll try to get you a deb package as soon as I have time, but for now its only the binaries for linux, you’ll have to make sure to have Qt5.1 etc. on linux too, as I do not provide them. For Windows, its 2 archives you’ll need to download: the programm itself, and needed dlls for Qt5.1 if you don’t have the SDK installed ( in this case you also could copy them from the bin directory)

Note on linux: this is a one day old beta version. Will update this later.

Video ad AMD Graphics Card Criticize Nvidia

Video ad AMD Graphics Card Criticize Nvidia

Not only the mobile gadget manufacturers who likes sarcastic competitors through advertising, this trend also extends to the world of PC components. One example is a video advertisement for AMD graphics card product called “AMD Radeon Graphics Presents: The Fixer”.

It is said, a gamer complaining because the graphics card “brand X” is not capable of running the game his liking. Then comes the one who suggested the players that switch using AMD graphics cards. Here’s The Fixer, a figure in the story that will “fix” the problem gamers.

The Fixer suggestion was inserted various promotional messages. For example, there is mention of a given game bundle through series AMD Radeon graphics card is used on the Xbox console and the PlayStation 4 One. There are also allusions to the gait of the graphics card manufacturer AMD competitor in the mobile world.

Ad ends with a scene of two men walked into the yard. Belonged to the old graphics card gamer-that design is similar to one graphics card Nvidia GeForce-looked is held by The Fixer and slammed to the ground and destroyed with cruel.

Poor graphics card manufacturer’s logo is obfuscated in the video. Are still clearly visible is the color, the light green is synonymous with Nvidia GeForce.

Looks a little scared by the brutal actions that occurred in front of him, the players shouted, “You need to calm down!” are answered by The Fixer, “I never compromise (settle)”. The word “settle” here does have two meanings, namely “calm” and “compromise”. Meanwhile, “Never Settle” is the name of the game promo bundle on AMD graphics cards.

He might look a bit stiff and childish, this ad still worth a look with a cool head. Consumers in the end it will benefit from the competition between industry players.

Chat Apps ‘Camfrog Video Chat’

Chat Apps ‘Camfrog Video Chat’

Have conversations remotely utilizing internet connection of course is much more fun if not only through sound, but also through video chat function. Especially if they added functionality to send text-based or image file directly, it is more the application was complete. This is what trying to offer Camfrog Video Chat.

d5-435-camfrogCamfrog Video Chat is the right application to chat with earlier methods. Not only can be used on close relatives only, Camfrog also provide Room or a gathering place for other Camfrog users from around the world. In addition to Windows and Mac OS, this application is also present for the Android-based platform. Use the same method, even on Android you will dipermudahkan with a camera function, unlike a desktop PC where you have to provide a first webcam. Of course the video call function can only be used if you have a front camera on a smartphone or tablet.

You can use Camfrog Video Chat for free. However, some new additional features will be active after using the Pro version of his pay. These features include video chat that is capable of performing simultaneously with more than one account at a time. You can also do video chat with full-screen view to get a bigger picture and clear. Similarly, send files or add text, and interesting effects.

Headset Sennheiser PMX 685i Sports

Headset Sennheiser PMX 685i Sports

Make the Joy of Sports

You like to exercise while listening to music? This is the headset for you: Sennheiser PMX 685i Sports. To confirm peruntukkanya, was carrying the Sennheiser Adidas which is a famous manufacturer of sports equipment on this his software. Headset? Yes, Sennheiser PMX 685i Sports is a headset with a microphone positions on the control module. So, with the appropriate device (eg iPhone), but can be used to answer a call, it can also be used to adjust volume and select songs.

u5-436-SennheiserMeskipun designed for Apple products (iPod, iPhone, iPad), headset with the blue cable can still be used in MP3 players and other devices. However, when connected to a 3.5 mm stereo output standards, controls and microphone of course does not work.

For his headphones, Sennheiser PMX 685i Sports is a earphone. That are not easily separated when used to exercising, this headset has a neckband (like a headband, but its position near the neck) whose front “hung” on the ears. When PCplus try a little exercise while listening to music, Sennheiser PMX 685i Sports is able to survive the fit in the ear. Unfortunately, PCplus feel less comfortable to wear.

Sennheiser also provide a clip that can be used to lock the cord. You simply pinch the wires along with your clothes in the desired position so that the cable does not move much thither.

In addition to the ability to maintain the position of affairs in the right ear plus cable lock, this Sennheiser product is also claimed to be resistant (resistant) against sweat and water. Therefore, you can wash them after every wear accompany you exercise so do not sweat. Not to forget, the cable used also has high durability.

Although the look is closed (closed), Sennheiser PMX 685i Sports has advantages called situational awareness. This Sennheiser headset hold less noise from outside so that you remain aware of the surrounding environment. Even so, when used in a safe place and you feel disturbed by the noise around, he has a driver that is able to produce a sound with a high volume. Just make sure not to damage your eardrums volume.

How his own voice? After hearing test PCplus do with a number of different musical genres, PCplus found that Sennheiser PMX 685i Sports has a sound staging and separation between instruments is okay. Unfortunately, the sound is less balanced: prominent midrange than bass and treble. Although rare, his voice could also feel attacked. Any number of instruments were not right. Even so, with a few adjustments, this voice could be made more balanced.

Rolomotion: Changing Apple TV and iPhone Becomes Console Games

Rolomotion: Changing Apple TV and iPhone Becomes Console Games

Inspired by the growing trend of motion control in the game industry, Rolocule Games announced Rolomotion. This technology combines the functionality of the Apple TV and iPhone into a new game console. However, in contrast to existing consoles on the market today, Rolomotion does not require additional hardware or sensors to create a gaming experience with motion control.
rolomotion logo Rolomotion: Changing Apple TV and iPhone Become SmartHome Console Games iphoneipad home gadget news ios apps
Rolomotion: Changing Apple TV and iPhone Becomes Console Games
The first game is optimized for this technology called Motion Tennis. With the help of AirPlay mirroring feature and Apple TV, which is stored in an iPhone game can be displayed on screen HD TV. iPhone also changed into game controls and complete console-style gaming experience with the advantages, you do not need to carry a lot of CD / DVD game when they want to play at a friend’s house. Just make sure they also have an Apple TV.
“We are pleased to announce Rolomotion and we think customers will love the experience of playing games with motion control using the iPhone and Apple TV,” said Rohit Gupta, Founder and CEO Rolocule Games. “We have always been interested in the potential of the Apple TV and the gaming industry and I think Rolomotion is our first step in that direction.”
rolomotion 1 Rolomotion: Changing Apple TV and iPhone Become SmartHome Console Games iphoneipad home gadget news ios apps
Rolomotion: Changing Apple TV and iPhone Becomes Console Games
Rohit also said that the Motion Tennis is the first game that comes accompanied Rolomotion technology. There are many other games that will be coming in the future. Not only playing themselves, Motion Tennis can be played by two people at once in doubles tennis match.
Rolomotion can be enjoyed with the iPhone 4S and iPod Touch to the top of the 5th generation Apple TV are connected to the 2nd generation or 3rd. Apple TV should have 802.11b/g/n Wi-Fi or Ethernet network and connected to a HD TV with a minimum resolution of 720p.

Google Maps for iPad Launched

Google Maps for iPad Launched

Jakarta – After a week after Google Maps launched for Android users, the information technology company is now re-presenting feature map for iPad users. Google Maps 2.0 can be enjoyed globally since Tuesday, July 16, 2013.
Features that are designed for use with the device’s larger screen choose the look with clearer images and soft colors.
Just like the Android version, iOS-based applications include traffic information in real time. Google Maps 2.0 comes with Foursquare and navigation that includes information about a variety of places, including restaurants and shopping centers.
This application actually has not been downloaded from the App Store could in their home country, the United States. Yet it can be downloaded for users in Asia.
Google Maps before, they can be enjoyed by users of smart phones iPhone. Launch the application updates to follow up on complaints that come from iPhone users, especially iPhone 5 to Apple Maps. Users complained about the lack of accuracy especially on Apple Maps. Apple Management then apologized in writing to the users of the iPhone and iPad.
Service on the map offers features traffic information, navigation, transit directions, satellite, road, indoor photos, restaurant reviews, and the integration of the Google profile. Unlike other Google apps made​​, this map is a special feature produced for the default operating system iOS. The application advantages are speed and small file size so it does not take much memory.

Fuji Xerox Printer Delivers for PPAT and Notaries

Fuji Xerox Printer Delivers for PPAT and Notaries

Jakarta – Fuji Xerox as a maker of laser printers provide printing solutions for the needs of a Land Deed Official (PPAT) and notarized by presenting a tech A3 laser printer engine and auto-duplex, the DocuPrint 3105.
This laser printer comes following provisions of National Defense Agency No. 8 of 2012 which states starting in 2013 the preparation and manufacture of blank PPAT deed done by each PPAT, PPAT replacement, temporary PPAT and PPAT special. Of this provision, the PPAT and notaries are required to print your own blank deed and land services they need improvement.
Notary PPAT and this in turn requires the land deed blank printer A3 size and auto-duplex. »They also need a leading print solutions and terandal, the durable quality legal documents, but at an affordable cost and high performance,” said Teddy Susanto, Country Sales Manager of Fuji Xerox Printer Channel Indonesia in Jakarta, Monday, July 29, 2013.
Teddy says DocuPrint 3105 has been launched in May 2012 at a price of Rp 8.9 million. »DocuPrint 3105 presents the features, functions, and enterprise-class innovations at affordable prices,” he said.
DocuPrint 3105 can print up to 32 pages per minute for A4 size and 17 pages per minute in A3 size. This device also has a resolution of 1,200 x 1,200 dpi and can be increased up to 2400 dpi prints through processing technology. Compact dimensions save space office desk.
Features Toner Save on the DocuPrint 3105 claimed saving toner consumption. This feature has four levels of savings that can be tailored to user needs. This benefits users maximize toner cartridge age, save costs, and consumables.
This printer also offers security features to help protect confidential legal information. Secure Print function to save documents in the hard disk drive up to the document owner to enter the password in the control panel. For additional security, the printer does encryption on the data before it is sent over the network. This printer also includes a system to remove the disk overwrite data in memory after printing is complete. Check out other techno news here.

Logitech Mouse Patterned Candy Panda and Floral Foray, When is Batik?

Logitech Mouse Patterned Candy Panda and Floral Foray, When is Batik?

JAKARTA – Logitech introduced the Logitech ® Wireless Mouse M235 Limited Edition, with a stylish motif. Not only interesting to look at but also reliable and provide a sense of comfort in your hands.
Success with Splash Pink and Black motif Topography, Logitech brings new members from the ranks of Logitech Global Graffiti Collection, the Logitech ® Wireless Mouse M235 with Candy Panda and Floral motifs Foray.
“The latest collection of Global Graffiti we launch to appreciate while meeting society’s demand over a wireless mouse that is not only reliable and convenient to use, but also has a unique shape with a pattern and creative,” said Sutanto Kurniadih, Logitech Country Manager Indonesia in Jakarta, Monday (01/07/2013).
It said the designs are the result of cooperation with the Logitech leading designers from around the world to create a variety of unique styles and patterns that can reflect its creativity and personal style. ”
Logitech ® Wireless Mouse M235 with Candy Panda and Floral motifs Foray was presented with a limited number or limited edition, in which Candy Panda pattern designed by Heiko Windisch, a digital artist from Germany-Australia.
Each design reflects the spirit, joy and beauty that allows users to mix and match with the look of style and theme of daily life.
Logitech ® Wireless Mouse M235 Limited Edition has been available in the Indonesian market with a retail price of USD 19.99 or approximately USD 190 thousand.